본문 바로가기
반응형

모의해킹12

SSL 인증서 용도 목적 Openssl과 차이 SSL 인증서 Secure Sockets Layer 네트워크상의 데이터를 안전하게 전송할 수 있도록 하는 계층이다. SSL인증서는 웹서버와 웹브라우저간에 데이터를 안전하게 주고받을 수 있도록 해주는 역할을 한다고 보면된다. 데이터를 주고 받는 중간에 누군가가 데이터를 가로채더라도 암호화가 되어있기때문에 데이터 해독이 불가능하다. 그래서 주로 정적인 데이터를 주고 받는 곳보다는 동적인 데이터를 주고 받는 로그인 페이지, 회원가입 페이지 등에 SSL을 적용해서 사용 한다. 하지만 SSL 인증서 발급에는 비용이 발생하기 때문에 내부에서만 사용하는 웹서버에도 모두 공인 SSL인증서를 발급하기란 쉽지 않다. 그래서 Openssl 이라는 패키지를 이용해서 사설 SSL 인증서를 무료로 발급해서 사용 할 수 있다. 2024. 1. 19.
모의해킹 실습 ARP 스푸핑(arpspoof) 계정 정보 탈취 시나리오 서로 다른 호스트(서버-클라이언트)간의 통신을 ARP 스푸핑을 통해 MAC주소를 속여 최종적으로 사용자 정보를 탈취 구성환경 공격자 : 192.168.213.5 웹서버 : 192.168.213.6 클라이언트 : 192.168.213.7 실습 (공격자 화면) 터미널창 2개와 와이어샤크 우선 ip_forward값을 먼저 확인한다. 0을 1로 변경을 해준다. 0 : 비활성화 1 : 활성화 0으로 되어있으면 수신되는 패킷이 자신의 패킷이 아닌 경우 드롭시켜버리지만, 1로 활성화가 되어 있으면 수신된 패킷이 자신의 패킷이 아닐 시 라우팅을 해줘서 통신에 장애가 없다. 1로 설정하지 않을 경우 웹서버-클라이언트의 간의 통신 패킷이 공격자에게로 오게 되고 공격자로부터 응답패킷이 나가지 않아서 웹서버-클라이언.. 2023. 5. 13.
리버스쉘(Reverse) 바인드쉘(Bind) 커맨드쉘(Command) Shell 획득 넷캣(NetCat) 사용법 바인드쉘, 리버스쉘 모의해킹을 진행 할 때 접속을 시도하는 방향에 따라 리버스쉘과 바인드쉘로 나뉜다. 바인드쉘은 우리가 흔히 알고 있는 방식으로, 서버에서 리스닝을 하고 있으면 클라이언트에서 접속하는 형태이다. 구글사이트에 우리가 접속하는 구조(바인드쉘) 이와 반대로 리버스쉘은 클라이언트(해커)가 리스닝을 하고 서버에서 클라이언트(해커)쪽으로 접속하는 형태이다. 구글사이트가 사용자한테 접속하는 구조(리버스쉘) 해킹 시 리버스쉘을 사용하는 이유는 주로 방화벽때문이다. 우리가 사는 집의 도어락을 예시로 보자 가족을 제외하고 도어락의 비밀번호를 모르기 때문에 밖에서 집안으로 들어오기란 쉽지 않다. 하지만 집안에서 밖으로 나가는건 도어락 버튼 하나로 쉽게 나갈 수 있다. 마찬가지로 실무에서도 외부에서 들어오는 .. 2023. 5. 12.
FortiOS SSL VPN Directory Traversal 취약점 로그 분석 웹방화벽 탐지 CVE-2018-13379 웹방화벽 장비 모니터링 중 이상 이벤트 발견 탐지 룰명 : Directory Traversal ../ 문자열로 탐지된것으로 추정 User-Agent는 python-requests로 되어있다. 파이썬프로그램을 통한 요청인거 같다. /remote/fgt_lang?라는 문자열로 구글링을 해보았다. CVE-2018-13379 관련 FortiOS SSL VPN 취약점 내용과 동일하다. 취약점 원리 /remote/fgt_lang?lang 매개변수의 입력값 필터링이 잘 되어 있지 않아 발생하는 취약점이다. 입력값 검증이 미흡하여 공격자는 ../ 디렉터리 이동을 통해 sslvpn_websession파일에 접근한다. sslvpn_websession 파일은 VPN 계정정보가 담겨있는 평문파일이다. 조치 1. 공격자 IP .. 2023. 4. 25.
취약한 웹 모의해킹 환경 DVWA 및 APM 구축하기, 설치파일 웹 모의해킹 실습환경 DVWA(Damn Vulnerable Web Application) DVWA를 구성하기 위해서 APM 설치가 필요하다. APM은 (Apache / PHP / Mysql)의 묶음이라 생각하면 된다. 설치파일 ※설치파일 필요 시, 댓글 (압축해제 패스워드 공유) APM 설치 후 Apache 및 MySQL 실행 APM이 정상 설치가 되었다면, 주소창에 127.0.0.1을 입력하면 위와 같은 페이지가 뜬다. APM 설치경로에 DVWA 폴더를 옮겨준다. 경로 : D:\APM\APM_Setup\htdocs 경로 : D:\APM\APM_Setup\htdocs\DVWA\config config.inc.php.dist 파일명을 config.inc.php로 변경 (.dist만 제거) 'dv_passw.. 2023. 4. 24.
웹(Web) 취약점 진단 점검 방법 항목 28개 주요정보통신기반시설 기술적 취약점 분석 평가 방법 한국인터넷진흥원(KISA)에서 제공하는 주요정보통신기반시설 기술적 취약점 분석 평가 상세 가이드 https://www.kisa.or.kr/2060204/form?postSeq=12&page=2 KISA 한국인터넷진흥원 www.kisa.or.kr (21년 3월 최신) 웹 파트 28개 항목 1. 버퍼 오버플로우 2. 포맷스트링 3. LDAP 인젝션 4. 운영체제 명령 실행 5. SQL 인젝션 6. SSI 인젝션 7. XPath 인젝션 8. 디렉터리 인덱싱 9. 정보 누출 10. 악성 콘텐츠 11. 크로스사이트 스크립팅 12. 약한 문자열 강도 13. 불충분한 인증 14. 취약한 패스워드 복구 15. 크로스사이트 리퀘스트 변조(CSRF) 16. 세션 예측 17. 불충분한 인가 18. 불충분한 세션 만료 19... 2023. 4. 1.
[리버싱] 기본 어셈블리 명령어 [리버싱] 기본 어셈블리 명령어 MOV : 데이터를 복사해준다, == 대입의 의미로 봐도 됩니다. 피연산자는 2개가 필요하며, 피연산자의 구분은 , 로 합니다. 첫번째 피연산자는 제 1피연산자, Destination 오퍼랜드라고 한다. 두번째 피연산자는 제 2피연산자, Source 오퍼랜드라고 한다. Source 오퍼랜드의 값을 Destination 오퍼랜드에 대입한다. * MOVZX, MOVSX = 소스 오퍼랜드 사이즈보다 데스티네이션 오퍼랜드 사이즈가 더 큰 경우 발생합니다. ZX는 남은 빈공간을 0으로 채워줄 때(부호는 쓰지 않는다는 의미) SX는 소스 오퍼랜드의 최상위 비트에 맞춰서 쓸 때(부호를 쓰겠다는 의미) TIP) 리버싱의 목적은 어셈블리어로 코딩을 하는게 목적이 아니므로, 보고 빠르게 분.. 2017. 7. 29.
[리버싱] 알아야 할 주요 레지스터 [리버싱] 알아야 할 주요 레지스터 ### Register ### 연산 처리 및 번지지정을 도와줌 컴퓨터의 장치들을 제어함. 레지스터들도 종류가 나뉩니다. General Purpose Register (범용 레지스터) : 일반적인 목적으로 쓰임 -EAX : 연산의 결과값이 저장되는 레지스터, 함수의 리턴값이 저장되기도 한다. - EBX : 주소연산 결과값이 저장 된다, 흔하게 사용되지는 아니함. - ECX : 반복의 횟수를 저장 - EDX : EAX 레지스터의 보조역할을 수행한다. 예를들면, 나누기 연산 수행 시 몫은 EAX레지스터에 저장이 되며, 나머지는 EDX에 저장 된다. X는 레지스터를 의미하며 , E는 확장을 의미 한다. 16비트 레지스터에는 E가 붙지 않지만, 컴퓨터가 발전하면서 32비트, 6.. 2017. 7. 29.
[리버싱] 리버싱 사전 지식 [리버싱] 리버싱 사전 지식 선수과정으로는 C언어와 자료구조가 중요합니다. 특히, 자료구조에서는 Stack구조를 잘 알 필요가 있습니다. * 리버싱 정의 = 잘 만들어진 프로그램을 역으로 분석한다. > 프로그램 이란? = 실행 할 수 있는 실행파일 ( .exe 파일) ### 프로그램이 만들어지는 원리 ### .c 파일 > .obj(기계어) - 컴파일 과정 .obj > .exe - 링크 과정(링킹) , 빌드라는 옵션으로 링킹 제공 .exe파일을 역으로 .c 파일로 돌리려고 하면 원래의 .c 파일로 복원이 되지 않습니다. 어섬블리 언어(저급언어)로 나오게 됩니다. 여기서 말하는 저급언어는 사람보다는 컴퓨터에 가까운 언어라는 의미입니다. [CPU] CPU는 크게 4가지로 나뉩니다. 1. ALU 2. Regis.. 2017. 7. 29.
[Web] Sqlinjection 테스트 [Web] Sqlinjection 테스트 a' or '1' = '1 '1' = '1 부분이 참이 되어버리기 때문에 인증을 우회 할 수 있다. ID, PW 동일하게 입력. -- 주석을 줌으로 써 뒷부분의 조건부분을 생략하여 우회 할 수 있다. 패스워드 검증은 주석처리가 되어버리기 때문에 아무 값이나 입력하여도 로그인이 가능하다. 2017. 7. 29.
[PHP] PHP로 DB(Database) 선택하기 [PHP] PHP로 DB(Database) 선택하기 vi dbselect.php URL 확인 http://localhost/dbselect.php 2017. 7. 9.
[PHP] PHP로 DB(Database) 생성하기 [PHP] PHP로 DB(Database) 생성하기 vi dbcreate.php 파일 생성 URL 결과 확인 http://localhost/dbcreate.php 2017. 7. 9.
반응형