TryHackMe

[TryHackMe] Robots

jeff_kim 2024. 3. 24. 11:58

https://tryhackme.com/r/room/grootsecurity

 

Task 6 
HoneyVoice 보이스피싱 일당의 비밀관리 서버를 해킹한다

* robots.txt, Gobuster를 이용한 디렉토리 브루트포싱에 대해서 공부


 

┌──(root㉿kali)-[~/raccoon/Robots]
└─# nmap 10.10.228.69 -sS -T4
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-23 22:06 EDT
Nmap scan report for 10.10.228.69
Host is up (0.37s latency).
Not shown: 998 closed tcp ports (reset)
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 3.59 seconds
                                                                              
┌──(root㉿kali)-[~/raccoon/Robots]
└─# nmap 10.10.228.69 -sV -sC -p 22,80 
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-23 22:06 EDT
Nmap scan report for 10.10.228.69
Host is up (0.26s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.7 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 c8:27:95:ed:47:88:cb:69:fa:2e:19:c7:03:5f:b3:26 (RSA)
|   256 96:8e:85:5b:f6:bc:43:76:52:24:dd:72:4c:65:27:79 (ECDSA)
|_  256 22:87:05:24:cb:7a:3f:b2:a4:5e:e2:88:9a:69:b2:af (ED25519)
80/tcp open  http    Apache httpd 2.4.29 ((Ubuntu))
| http-robots.txt: 1 disallowed entry 
|_/admin.html
|_http-title: HoneyVoice Secrets Server
|_http-server-header: Apache/2.4.29 (Ubuntu)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 18.44 seconds

 

ssh 공격은 좀 나중에 하고 우선 ssh와 http가 있으면 http 웹공격 먼저 시도를 할 것이다.

 

첫번째로 웹사이트가 뜨고 ctrl+u 를 통해서 소스코드를 확인해봤지만 딱히 단서가 될만한 것은 없다

 

 

두번째로 /robots.txt 를 통해서 경로롤 변경한 뒤에 확인을 한다

 

여기서 robots.txt 의 개념을 공부해야한다

검색 엔진 (goolge,naver) 등은 크롤러 라는 것을 만드는데 이것이 인터넷에 뿌려져서 다양한 웹페이지를 조사하고 어느 서버에 어느 포트에 어느 php 파일이 어디에 존재하는지를 긁어온다 admin.html 같은 중요한 페이지는 크롤러를 보고 크롤링을 금지해야한다 라고 알려주는 것이 robots.txt 이다

즉, 웹서버의 검색엔진 최적화 (SEO)에 쓰이도록 만들어 졌지만, 잘못 설정될 경우 원치않은 디렉터리나 페이지를 유출할 수 있는 파일이름은 robots.txt 이다

 

그래서 위 사진을 보면 allow: /index.php 이말은 index.php에 대한 크롤링은 허용 Disallow: /admin.php는 admin.php에 대한 크롤링은 허용하지 않는다. 이런 말이 이다.

 

 

하지만 우리는 공격하는 입장이기 때문에 안돼는 것은 없다!

하지만 이 admin.html은 진짜 admin 페이지는 아니고 뭔가 xxxx.hv.html 을 보라고 나와있다. 4자리의 숫자로 되어있다고 한다

그래서 우리는 이제 web directory bruteforcing 이라는 기법을 사용해서 공격을 할 것이다python을 이용해도 되고 다른 스크립트를 이용해도되지만 이번에는 bash를 이용하여 진행

 

 

──(root㉿kali)-[~/raccoon/Robots]
└─# for i in {0000..9999} ; do echo $i.hv.html >> wordlist.txt; done
                                                                              
┌──(root㉿kali)-[~/raccoon/Robots]
└─# ls
target  wordlist.txt
                                                                              
┌──(root㉿kali)-[~/raccoon/Robots]
└─# tail wordlist.txt 
9990.hv.html
9991.hv.html
9992.hv.html
9993.hv.html
9994.hv.html
9995.hv.html
9996.hv.html
9997.hv.html
9998.hv.html
9999.hv.html

 

세번째 간단한 for 문을 이용하여 wordlist.txt 를 생성

 

네번째 gobuster라는 툴을 이용하여 공격

──(root㉿kali)-[~/raccoon/Robots]
└─# gobuster dir -u http://10.10.228.69 -w wordlist.txt -t 100

gobuster dir 공격을 할 것이고

-u : 공격할 url

-w : 아까 생성한 wordlist를 적어주면 된다

-t : thread는 100 정도 

 

┌──(root㉿kali)-[~/raccoon/Robots]
└─# gobuster dir -u http://10.10.228.69 -w wordlist.txt -t 100
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     http://10.10.228.69
[+] Method:                  GET
[+] Threads:                 100
[+] Wordlist:                wordlist.txt
[+] Negative Status codes:   404
[+] User Agent:              gobuster/3.6
[+] Timeout:                 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
/7289.hv.html         (Status: 200) [Size: 653]
Progress: 10000 / 10001 (99.99%)
===============================================================
Finished
===============================================================

/7289.hv.html 이라는 것은 200 응답이 나와 파일이 있는 것으로 확인 되었고, 나머지는 404 error 가 발생했을 것이다.

 

NOPE. 이 떳지만 여기서 페이지 소스를 확인해보면

이러한 아이가 등장한다 비밀번호와 패스워드 그리고 flag 값이 나오고 보너스 문제를 풀기 위해서 ssh연결을 통해서 마지막 flag 까지 획득 하면 완벽하다

'TryHackMe' 카테고리의 다른 글

[TryHackMe] RootMe  (0) 2024.03.24