Előre jelzem, egyelőre elhamarkodott ennek a topic-nak az indítása, mert nem használtam ki minden általam ismert lehetőséget, így még csak a pulzusom és a vérnyomásom magasabb a szokásosnál. :)
Van egy TL-WR842N-v3 szappantartóm. OpenWrt/LEDE futkosott rajta eddig, s most is. Ehhez eddig ar71xx architectúra kellett, viszont a közelmúltban migráltak ath79-re, illetve 4.14-es-ről 4.19-es sorozatú kernelre.
A szokásos módon készítettem egy image-et saját csomagválogatással. Grafikus felület nincs, csak ssh, de azt is úgy csináltam meg, hogy a root ssh tiltva van, sima user-ként lehet, majd onnan su paranccsal, ha root shell kell.
Az új image-et sysupgrade-del tettem fel, újraindult a router, vélhetően 4.19.56-os kernellel. Van egy saját scriptem, amelyik színezi a login bannert, ez még lefut. Ezt követően kellene shell promptot kapnom, ami viszont már nem történik meg. Értelemszerűen így root shell-t sem tudok szerezni. A hálózat működik, csak nem férek hozzá a routerhez.
A Midnight Commander shell linkjén keresztül látom a filerendszert sima user-ként, de módosítani nincs jogom, ahhoz root jog kellene, de az le van tiltva ssh-n keresztül.
Most némi aggodalommal nézek a jövőbe. Ugye, a következő frissítéshez be kellene lépnem. Ahhoz is, hogy felcsatoljam a beledugott pendrive filerendszerét. Vagy, ha módosítani szeretném a konfigurációt.
Mivel saját image, az a sanda gyanúm, hogy a factory default visszatöltése is azt eredményezi majd, hogy nem tudok root-ként ssh-zni. De azzal sem megyek semmire, ha tudok, és nem kapok shell promptot.
Sóhaj...
- 2722 megtekintés
Hozzászólások
- A hozzászóláshoz be kell jelentkezni
Köszönöm, rá fogok pillantani. Szerencsére van hálózatom, csak roppant frusztráló, hogy kizártam magam. Nyilván a pendrive-om is elérhető, ha kihúzom a hub-ból, s bedugom a desktop gép host interface-ébe. Most megpróbálkozom egy kikapcsolás-bekapcsolással, hátha...
Szerk.:
Kikapcs-bekapcs után ugyanaz. Az ssh kapcsolat felépül, van login banner, még színes is, de shell prompt már nincs. Parancsot „vakon” sem fogad.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Valahogy az mc is listáz SSH-n, tehát kap shell-t.
Talán FISH-el próbálkozik először és ezt küldi parancsként:
echo FISH:;/bin/sh
Forrás: http://cvs.savannah.gnu.org/viewvc/mc/mc/vfs/README.fish?view=markup
- A hozzászóláshoz be kell jelentkezni
Azt hiszem, fentebb nem mondtam igazat. Egy su - parancs hatására bekérte a jelszót, beírtam. Prompt nem volt, mondtam neki vélelmezetten root-ként, hogy mc, mire ő:
Cannot get terminal settings: Not a tty (25)
Tehát vélhetően valami terminál definíciós dolgok lehetnek elbökve. Az echo hello-ra nem látok semmit. Eleve nem látom, amit írok. Mintha az stdout menne a /dev/null-ba. Olyannyira, hogy „vakon” beírtam:
echo hello >&2
mire kiírta, hogy hello. :)
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Mi van ha a shell-t indítod >&2 paraméterrel? Akkor nem látszanak a kimenetek?
Például /bin/sh >&2
Egyébként én /etc/profile-t nézném meg vagy .profile-t.
https://man.cx/profile
- A hozzászóláshoz be kell jelentkezni
Egyébként én /etc/profile-t nézném meg
Nagyon köszönöm a tippet, ez volt a megoldás! A régi profile-ba beleírtam ezt-azt, de nem ez volt a baj, hanem az, hgy az egész file-t cseréltem, azt a részét is régire, amelyhez nem nyúltam. Most jön az, hogy módosítom ezt az újat... Gondolom, wifi hasonló ok miatt nincs.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Úgy látom, a csinos kis promptomba döglik bele, debugolhatom, hogy miért:
#!/bin/sh
export UID=`id -ur`
export EUID=`id -u`
case $- in
*i*)
if [ "${TERM:0:5}" = 'xterm' ]; then
export PS1='$(RET=$?; COLOR="\[\e[m\]"; [ $EUID = 0 ] && COLOR="\[\e[32;1m\]"; echo -n "${COLOR}["; [ $RET -ne 0 ] && echo -n "\[\e[33;1m\]$RET$COLOR ")\u@\h \w]\$ \[\e[m\]'
else
export PS1='\u@\h:\w\$ '
fi
alias ll='ls -alF --color=auto'
esac
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Így, hogy már tudsz root-ként parancsot futtatni, a debug idejére szerintem engedélyezd az ssh-n a root-ot, hátha annál nincs gond a tty-vel.
BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)
- A hozzászóláshoz be kell jelentkezni
Azt csináltam, hogy egyfelől stderr-re küldöm az stdout-ot, ha látni szeretném valaminek az outputját, illetve vakon macera beírni hosszú parancsot hibátlanul, a desktop gépen megszerkesztem, beírom egy egybetűs nevű file-ba, majd mc-vel felmásolom a router /tmp-jébe - ez amúgy RAM disk -, onnan pedig az egybetűs névvel vakon is könnyen végre tudom hajtani. Viszont itt tartok:
Image check 'fwtool_check_image' failed.
A help meg ezt mondja:
-F | --force Flash image even if image checks fail, this is dangerous!
Már most is félig kizártam magam, nem húznék 19-re lapot. Lehet, hogy sikerülne, de az is lehet, hogy végleg tégla lenne belőle.
Amit tudni lehet: eddig a sysupgrade file-lal próbálkoztam. Utóbbi esetben a factory-val, gondoltam, a full init jót tesz majd neki. Hát, nem jött be. :(
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Hivatalosan ovális, de a jelenlegi lakója úccse beszél bagettül, úgyhogy nem fog neki feltűnni, még a typo sem. Valszeg felhívod a titkárnőjét, kérsz egy időpontot, átesel egy nemzetbiztonsági átvilágításon, aztán már be is jutottál.
Bocs, muszáj volt.
BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)
- A hozzászóláshoz be kell jelentkezni
Semmi baj. :) Az a typo szándékos geg volt a részemről. Azok közé tartozom, akik visszaolvassák legalább a címet küldés előtt. ;)
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Nagyobb baj, hogy amikor a desktop gépemen ma root jogot kértem, ez fogadott:
Last failed login: Sun Jul 7 01:32:28 CEST 2019 from 194.61.26.4 on ssh:notty
There were 3 failed login attempts since the last successful login.
Az egészen biztos, hogy nem én voltam. Gyanítom, a 22-es port lehet most kintről nyitva, amíg nincs rendben a routerem konfigja. Tehát háromszor bepróbálkoztak. Amúgy használom a PermitRootLogin no opciót az sshd konfigjában.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Router mögött találták meg a 22-es portodat?
Érdekes konfigja lehet annak a routernek.
- A hozzászóláshoz be kell jelentkezni
... ész (gondolkozás) nélkül tolunk mindent, aztán csak lesünk, hogy nem működik...
- A hozzászóláshoz be kell jelentkezni
Ezt hittem, de megnéztem a konfigot. Nyitva van egy 22-estől eltérő portom, ez van a lokális hálóban adott IP-címre a 22-es portra irányítva. Tehát más portcímen találtak meg.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
bátor / botor :).
- A hozzászóláshoz be kell jelentkezni
grep -F 'Invalid user' secure | sed 's/^.*]: //'
Invalid user admin from 194.61.26.4 port 44253
Invalid user alain from 194.61.26.4 port 52793
Invalid user ubnt from 194.61.26.4 port 54037
Invalid user pi from 194.61.26.4 port 24431
Invalid user onelink from 194.61.26.4 port 41121
Invalid user suporte from 194.61.26.4 port 42359
Invalid user train from 194.61.26.4 port 16306
Invalid user pi from 194.61.26.4 port 59731
Invalid user admin from 194.61.26.4 port 56202
Invalid user butter from 194.61.26.4 port 58412
Invalid user fuckyou from 194.61.26.4 port 13444
Invalid user erika from 194.61.26.4 port 23242
Invalid user andrea from 194.61.26.4 port 31131
Invalid user paul from 194.61.26.4 port 9559
Invalid user new from 194.61.26.4 port 43742
Invalid user admin1 from 194.61.26.4 port 22194
Invalid user ubnt from 194.61.26.4 port 12701
Invalid user sales from 194.61.26.4 port 22677
Invalid user natalia from 194.61.26.4 port 46795
Invalid user access from 194.61.26.4 port 27770
Invalid user ubnt from 194.61.26.4 port 51367
Invalid user newsletter from 194.61.26.4 port 27818
Invalid user updates from 194.61.26.4 port 57660
Invalid user user from 194.61.26.4 port 57776
Invalid user support from 194.61.26.4 port 16690
Invalid user ubnt from 194.61.26.4 port 42594
Invalid user anonymous from 194.61.26.4 port 40815
Invalid user julia from 194.61.26.4 port 39622
Invalid user boss from 194.61.26.4 port 13804
Invalid user ftpuser from 194.61.26.4 port 22818
Invalid user temp123 from 194.61.26.4 port 7099
Invalid user user from 194.61.26.4 port 18402
Invalid user system from 194.61.26.4 port 2812
Invalid user research from 194.61.26.4 port 7315
Invalid user default from 194.61.26.4 port 11408
Invalid user webmaster from 194.61.26.4 port 44034
Invalid user test1 from 194.61.26.4 port 17222
Invalid user biotop from 194.61.26.4 port 33781
Invalid user user from 194.61.26.4 port 45993
Invalid user reverse from 194.61.26.4 port 42953
Invalid user user1 from 194.61.26.4 port 3890
Invalid user peggy from 194.61.26.4 port 33884
Invalid user ubnt from 194.61.26.4 port 21846
Invalid user ftpuser from 194.61.26.4 port 37287
Invalid user hscroot from 194.61.26.4 port 20471
Invalid user ubnt from 194.61.26.4 port 52348
Invalid user user1 from 194.61.26.4 port 41963
Remek. :-/
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Én a VPS-emen fail2ban-t használok mindenre. Mióta portscanra is van szabály, azóta magas portra rakott SSH-n nincs próbálkozás egyáltalán.
"Status for the jail: portscan
|- filter
| |- File list: /var/log/messages
| |- Currently failed: 23
| `- Total failed: 377757
`- action
|- Currently banned: 0
| `- IP list:
`- Total banned: 203"
"Status for the jail: ssh
|- filter
| |- File list: /var/log/auth.log
| |- Currently failed: 0
| `- Total failed: 0
`- action
|- Currently banned: 0
| `- IP list:
`- Total banned: 0"
- A hozzászóláshoz be kell jelentkezni
Ez érdekelne... tudsz mesélni róla? Vagy kérhetek configot?
- A hozzászóláshoz be kell jelentkezni
Semmi különös. Kb. ennyi a lényeg:
# /etc/fail2ban/jail.conf
bantime = 28800
findtime = 600
maxretry = 3
[ssh]
enabled = true
port = 26555
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
[portscan]
enabled = true
filter = portscan
action = iptables[name=portscan]
logpath = /var/log/messages
maxretry = 50
És ekkor el kell olvasni ezt is és követni: https://github.com/sikevux/fail2ban/blob/master/portscan.conf
# Looks for attempts on ports not open in your firewall. Expects the
# iptables logging utility to be used. Add the following to your iptables
# config, as the last item before you DROP or REJECT:
# -A -j LOG --log-prefix "PORT DENIED: " --log-level 5 --log-ip-options --log-tcp-options --log-tcp-sequence
# This will place a notice in /var/log/messages about any attempt on a port that isn't open.
Ja és logrotate-ot ne felejtsd! :)
- A hozzászóláshoz be kell jelentkezni
Mondjuk azt azért ne felejtsük el, hogy a dobozon alapból mindig elérhető az authentikáció nélküli root login RS232-ről.
- A hozzászóláshoz be kell jelentkezni
Itt mit jelent az alapból kitétel? Az amúgy jó, nem biztonsági rés, viszont ellenszer a téglásodás esetére.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Egyrészt azt, hogy mind az általad forgatott image tartalmazza "alapból", mind az openwrt oldaláról letöltött image-ben benne van.
Ha nem akarod, persze biztos ki lehet belőle vakarni, de a menuconfigban nem láttam erre vonatkozó opciót.
Másrészt:
https://openwrt.org/toh/tp-link/tl-wr842nd#serial
persze ehhez kell egy usb-RS232 átalakító, vagy soros port a gépen.
- A hozzászóláshoz be kell jelentkezni
> kell egy usb-RS232 átalakító, vagy soros port a gépen
A routerben nincsenek RS232 jelszintek, vagyis inkább egy ilyesmi kell a feladathoz:
https://i.ebayimg.com/images/g/a00AAOSwmFxcRofk/s-l1600.jpg
2db ilyenből kevesebb mint 500Ft:
https://www.ebay.com/itm/2pcs-Durable-Serial-Module-3-3-5V-USB-To-TTL-A…
- A hozzászóláshoz be kell jelentkezni
No, igen, én is filóztam azon, hogy a "serial port" fogalmát milyen mélységben kellene kifejteni, de ha már itt tartunk, az általad linkelt átalakítóhoz is tartozik egy fontos kitétel: Az 5V (TTL) oldalát illik elfelejteni.
Ezek a processzorok 3.3V-ról futnak, így ha ráköti az 5V-os TTL ágát, ugyanúgy kijön belőle a füst, mintha a +/-17V-os RS232-t kötné rá.
- A hozzászóláshoz be kell jelentkezni
Igaz, bár vannak "5 V tolerant" I/O-val rendelkező eszközök, amikből így nem fog kijönni a füst, de valóban az a helyes, ha 3,3 V-tal tápláljuk a cuccot, amennyiben a "túloldal" is olyan tápfeszről jár.
Van olyan átalakítóm, amin választható a tápfesz (5V/3,3V):
https://www.aliexpress.com/item/32827321415.html?spm=a2g0s.9042311.0.0…
Szerk.: közben megnéztem, hogy az is rendben van, amit először linkeltem. Ilyenem is van, GND-hez képest ezeket mértem a lábakon:
VCC +5V: 5,05 V
CH340G-VCC: 3,672 V
VCC +3.3V: 3,100 V
CH340G-TxD: 3,669 V
CH340G-RxD: 3,468 V
Szerk2:
Mértem egy ilyent is:
https://www.ebay.com/itm/CP2102-USB-2-0-to-TTL-UART-Module-6Pin-Serial-…
DTR: 3,342 V
RxD: 3,019 V
TxD: 3,343 V
+5V: 5,05 V
3V3: 3,343V
- A hozzászóláshoz be kell jelentkezni
Tudom, nekem is ilyen van, csak FTDI chipes.
Egyszer rátettem egy AR9331-re, az nem volt 5V tolerant...
Szóval érdemes figyelni.
- A hozzászóláshoz be kell jelentkezni
"Szóval érdemes figyelni."
Ez is egy szakma. Lehet jól is csinálni.
- A hozzászóláshoz be kell jelentkezni
Micsoda Coelho-i parafrázisok, légy szíves írjál még!
- A hozzászóláshoz be kell jelentkezni
Úgy néz ki, az 1.31.0-ás SzivárványosDoboz ash-jába sikeresen belefejlesztettek egy bugot. Régen minden jobb volt, de már elmúlt.
Ez volt a régi promptom:
export PS1='$(RET=$?; COLOR="\[\e[m\]"; [ $EUID = 0 ] && COLOR="\[\e[32;1m\]"; echo -n "${COLOR}["; [ $RET -ne 0 ] && echo -n "\[\e[33;1m\]$RET$COLOR ")\u@\h \w]\$ \[\e[m\]'
A jelenlegi kód ezzel szemben, ami nem rejti el a promptban a 0-s exit code-ot:
if [ $EUID = 0 ]; then
export PS1='\[\e[32;1m\][\[\e[33;1m\]$?\[\e[32;1m\] \u@\h \w]\$ \[\e[m\]'
else
export PS1='\[\e[m\][\[\e[33;1m\]$?\[\e[m\] \u@\h \w]\$ '
fi
Lehet, hogy nem túl áttekinthető, de elmondom a lényeget. Régen a prompt deklarálásában el lehetett helyezni futtatható shell scriptet $(...) helyettesítéssel. Most ettől szétesik az egész. Ugye, előre nem tudom kiszámítani az értékeket és behelyettesíteni a PS1 deklarálásakor, mert épp az a lényeg, hogy mindig akkor kell futnia a kódnak, amikor megjelenik a prompt. Így az exit kódból dinamikusan kerül előállításra a kiírandó tartalom. Most csak a visszatérési értéket helyettesítem, de például a nullát nem tudom eltüntetni.
Miért nyúlnak hozzá olyasmihez, ami egyszer már működött?
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
A busyboxot kérdezd, azt nem az OpenWRT fejleszti, de, ha most csuklózik veled először, ki kell ábrándítsalak, qrvasok dolog nem fog működni, ami a bash-ban még működött.
(Amúgy (hely függvényében) elérhető rá a bash is, ott van a csomagok között.)
- A hozzászóláshoz be kell jelentkezni
Tudom, hogy nem bash. A korábbi OpenWrt/LEDE-s ash-val még működött.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
van serial hozza: https://openwrt.org/toh/tp-link/tl-wr842nd#serial, irja mit kell csinalni a v3-nal
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Rejtett sub
--
Debian GNU/Linux
- A hozzászóláshoz be kell jelentkezni