A következő néhány sorban Intruder2k5 remek munkájának köszönhetően, olyan emberek is könnyedén hozhatják ki a routerből már-már a maximumot, akiktől kicsit távol áll a linux világa.
Fontos megjegyezni, hogy a művelet Asus WL-500gP v2-es cuccon készült, szóval a működés ezen verziószámmal ellátott eszközök esetén lehet elsősorban sikeres.
Íme egy újabb variáció a sok közül… Nem állítom, hogy ez az ideális megoldás, de jó lehet azoknak akik már végképp feladták a netes tutorialokban leírt csomagról-csomagra telepítést. Ez egy jól működő alap rendszer “biztonsági mentése”, amit vissza kell állítani egy lemezre, beállítani a jelszavas részeket, és használni… Vagy még sem? Valóban ez lett volna az eredeti terv, de sajnos a FlashFS visszaállítása nem működik, így sajnos teljesen nem ússza meg senki a Linux konzolt.
Amikre szükséged lesz:
Én a Symantec Ghost Corporate Edition 11.5 verziót használtam, de nem hiszem, hogy csak ezzel működne.
A WL-500GP-V2.ZIP tartalma:
- WL500g.PremiumV2.tar.gz:
Ez a FlashFS mentése, de mint már írtam, jelenleg csak egy nehezék a csomagban, nem kell róla tudomást venni.
- 1-opt.gho
Az első partíció, Mérete 1 GB
Ez majd az /opt mappába lesz csatolva.
- 2-swap.gho
A swap partíció. Mérete 512 MB
Létrehozhatod manuálisan is nem kell feltétlen az image file-t használni.
- 3-share.gho
A harmadik partíció. Mivel ez egy pendrive-ról készült image, így ennek mérete mindössze 2GB körül van, de lehet nagyobbra is csinálni, ha van hely a cél lemezen. Minél nagyobb, annál jobb, mert ide lesznek letöltve a torrentek pl.
Amit tartalmaz:
- dropbear
- samba
- lighttp (https, autentikáció)
- rtorrent & WebUI
- wget & Mwget WebUI
- Midnight Commander
- cron
- vnstat
- AEGA
Az összeállítás többnyire r0by leírása alapján készült, de van amit más forrásokból tettem hozzá.
Akkor essünk neki…
Először is üzemeljük be a Ghost-ot, nyissuk meg az első (1-opt.gho) image file-t, és másoljuk a használni kívánt lemezre. A Ghost menüjében ez nagyjából így néz ki: Local -> Partition -> From Image, ezután kiválasztod a cél lemezt, és innen már a szokásos OK, OK, Next, Next… Ha ezzel végzett, akkor járjunk el hasonlóképpen a másik két particióval is (2-swap.gho, 3-share.gho).
Az eredeti tervek szerint itt a Flashfs visszaállítása következne a router webadmin felületén, de a visszajelzések sajnos azt támasztották alá, hogy ez az apró részlet sajnos nem működik megfelelően, így kénytelenek leszünk kézzel létrehozni azt a pár dolgot, ami a flashben van tárolva.
Tehát csatlakoztasd a meghajtót a routerre, majd egy újraindítás után lépj be TELNET-en a saját felhasználóneveddel, és jelszavaddal, majd add ki a következő parancsokat:
mount /dev/discs/disc0/part1 /opt
Ezzel elvileg mountoltuk az első particiót az opt mappába. Ha ez megvan, akkor a következő legyen a:
vi /usr/local/sbin/post-boot
Ezután nyomd meg az I betűt (mint Insert), majd pötyögd be az alábbiakat, vagy pedig jelöld ki, és jobb klikkel be tudod illeszteni a PUTTY ablakba:
#!/bin/sh
swapon /dev/discs/disc0/part2
mount /dev/discs/disc0/part1 /opt
i=0
while [ $i -le 30 ]
do
if [ -d /opt/etc ]
then
break
fi
sleep 1
i = `expr $i+1`
done
mount /dev/discs/disc0/part3 /opt/etc/samba/Share
i=0
while [ $i -le 30 ]
do
if [ -d /opt/etc ]
then
break
fi
sleep 1
i=`expr $i+1`
done
dropbear
/opt/etc/init.d/rc.unslung
Ha készen van, akkor nyomd meg az ESCAPE billentyűt, majd írj be egymás után egy kettőspontot, egy w betűt, egy q betűt, és egy ! jelet, majd nyomj ENTER-t.
Tehát a sorrend pontosan: ESCAPE : w q ! ENTER
Ezzel a post-boot meg is lenne, most hasonlóan a post-firewall-t is be kell tenni.
vi /usr/local/sbin/post-firewall
Itt ismét egy I betű következik…
#!/bin/sh
iptables -I INPUT -m tcp -p tcp –dport 6880 -j ACCEPT
iptables -A INPUT -p tcp –dport 443 -j ACCEPT
iptables -t nat -A PREROUTING -i “$1″ -p tcp –dport 443 -j DNAT –to-destination “$4″:443
ESCAPE : w q ! ENTER
Még két parancs van hátra,
flashfs save && flashfs commit && flashfs enable
reboot
Ha mindez készen van, akkor elértük azt amit a flashfs file betöltésével kellett volna eredetileg.
Folytassuk is tovább, generáljunk kulcsokat az SSH-hoz, és a HTTPS-hez. TELNET-eljünk be ismét, és írkáljuk be az alábbiakat:
mkdir -p /usr/local/etc/dropbear
dropbearkey -t dss -f /usr/local/etc/dropbear/dropbear_dss_host_key
dropbearkey -t rsa -f /usr/local/etc/dropbear/dropbear_rsa_host_key
flashfs save && flashfs commit && flashfs enable
cd /opt/var/run
openssl req -new -x509 -keyout lighttpd.pem -out lighttpd.pem -days 3650 –nodes
Itt kérdezni fog néhány dolgot, amire válasznak elég egy-egy ENTER.
Ha készen van indítsd újra a routert:
reboot
Mostmár működnie kell az SSH-nak, és HTTPS-nek is. Az alapértelmezett név/jelszó a HTTPS-nél, admin/admin amit célszerű megváltoztatni. Ezt akár MC-vel is megteheted az /opt/etc/lighttpd/.passwd file szerkesztésével.
Lighttpd elérése: https://my.router vagy https://asus
Remélem lesz akiken segíteni fog, sok sikert hozzá!
Intruder2k5
Read original blog post