Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ftp service: breaks Honeytrap when move/make/upload files/directory #462

Open
AMKuperus opened this issue Apr 3, 2019 · 2 comments
Open

Comments

@AMKuperus
Copy link

AMKuperus commented Apr 3, 2019

Service FTP breaks Honeytrap when trying to:

  • enter a directory just created
  • upload a file to directory
  • edit file in directory

Tested with Filezilla and commandline ftp on RaspberryPi and as normal running Honeytrap on Arch Linux

On RaspberryPi running dietpi:


● honeytrap.service - Honeytrap
   Loaded: loaded (/lib/systemd/system/honeytrap.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2019-04-03 14:43:06 CEST; 17s ago
     Docs: https://honeytrap.io
  Process: 3303 ExecStart=/usr/bin/honeytrap --data /var/lib/honeytrap --config /etc/honeytrap.toml (code=exite
d, status=2)
 Main PID: 3303 (code=exited, status=2)

Apr 03 14:43:06 DietPi honeytrap[3303]: github.com/honeytrap/honeytrap/services/ftp.(*Fs).ChangeDir(0x135a3cf8, 0x1289e
7b4, 0x1, 0x0, 0x0)
Apr 03 14:43:06 DietPi honeytrap[3303]:         /go/src/github.com/honeytrap/honeytrap/services/ftp/ftpfs.go:36 +0x2c f
p=0x20ac23e0 sp=0x20ac23c8 pc=0x494530
Apr 03 14:43:06 DietPi honeytrap[3303]: github.com/honeytrap/honeytrap/services/ftp.(*Fs).ChangeDir(0x135a3cf8, 0x1289e
7b4, 0x1, 0x0, 0x0)
Apr 03 14:43:06 DietPi honeytrap[3303]:         /go/src/github.com/honeytrap/honeytrap/services/ftp/ftpfs.go:36 +0x2c f
p=0x20ac23f8 sp=0x20ac23e0 pc=0x494530
Apr 03 14:43:06 DietPi honeytrap[3303]: github.com/honeytrap/honeytrap/services/ftp.(*Fs).ChangeDir(0x135a3cf8, 0x1289e
7b4, 0x1, 0x0, 0x0)
Apr 03 14:43:06 DietPi honeytrap[3303]:         /go/src/github.com/honeytrap/honeytrap/services/ftp/ftpfs.go:36 +0x2c f
p=0x20ac2410 sp=0x20ac23f8 pc=0x494530
Apr 03 14:43:06 DietPi honeytrap[3303]: github.com/honeytrap/honeytrap/services/ftp.(*Fs).ChangeDir(0x135a3cf8, 0x1289e
7b4, 0x1, 0x0, 0x0)
Apr 03 14:43:06 DietPi systemd[1]: honeytrap.service: Main process exited, code=exited, status=2/INVALIDARGUMEN
T
Apr 03 14:43:06 DietPi systemd[1]: honeytrap.service: Unit entered failed state.
Apr 03 14:43:06 DietPi systemd[1]: honeytrap.service: Failed with result 'exit-code'.

@StefanGrimminck
Copy link
Collaborator

StefanGrimminck commented Apr 3, 2019

It is important to note that in all of the above scenario's the ChangeDir() function is called repeatedly which crashes HoneyTrap by overflowing the stack (see goroutine 116).

Last HoneyTrap log

services > ftp > category=ftp, date=2019-04-03 15:22:33.236236055 +0200 CEST m=+24.096400701, destination-ip=::1, destination-port=21, ftp.command=CWD /, ftp.sessionid=37e54404038797f4beb9, sensor=services, source-ip=::1, source-port=44130, token=bi7ql9k3cb9h60vjtg90

Error message

runtime: goroutine stack exceeds 1000000000-byte limit
fatal error: stack overflow

Relevant portion of stack strace

goroutine 116 [running]:
github.com/honeytrap/honeytrap/services/ftp.(*Fs).ChangeDir(0xc0066d4048, 0xc0000b930b, 0x1, 0x0, 0x0)
	/home/stefan/go/src/github.com/honeytrap/honeytrap/services/ftp/ftpfs.go:34 +0x62 fp=0xc02675c368 sp=0xc02675c360 pc=0x95c6b2
github.com/honeytrap/honeytrap/services/ftp.(*Fs).ChangeDir(0xc0066d4048, 0xc0000b930b, 0x1, 0x0, 0x0)
	/home/stefan/go/src/github.com/honeytrap/honeytrap/services/ftp/ftpfs.go:36 +0x3f fp=0xc02675c3a0 sp=0xc02675c368 pc=0x95c68f
github.com/honeytrap/honeytrap/services/ftp.(*Fs).ChangeDir(0xc0066d4048, 0xc0000b930b, 0x1, 0x0, 0x0)
	/home/stefan/go/src/github.com/honeytrap/honeytrap/services/ftp/ftpfs.go:36 +0x3f fp=0xc02675c3d8 sp=0xc02675c3a0 pc=0x95c68f
github.com/honeytrap/honeytrap/services/ftp.(*Fs).ChangeDir(0xc0066d4048, 0xc0000b930b, 0x1, 0x0, 0x0)
	/home/stefan/go/src/github.com/honeytrap/honeytrap/services/ftp/ftpfs.go:36 +0x3f fp=0xc02675c410 sp=0xc02675c3d8 pc=0x95c68f
github.com/honeytrap/honeytrap/services/ftp.(*Fs).ChangeDir(0xc0066d4048, 0xc0000b930b, 0x1, 0x0, 0x0)
	/home/stefan/go/src/github.com/honeytrap/honeytrap/services/ftp/ftpfs.go:36 +0x3f fp=0xc02675c448 sp=0xc02675c410 pc=0x95c68f
github.com/honeytrap/honeytrap/services/ftp.(*Fs).ChangeDir(0xc0066d4048, 0xc0000b930b, 0x1, 0x0, 0x0)
	/home/stefan/go/src/github.com/honeytrap/honeytrap/services/ftp/ftpfs.go:36 +0x3f fp=0xc02675c480 sp=0xc02675c448 pc=0x95c68f
github.com/honeytrap/honeytrap/services/ftp.(*Fs).ChangeDir(0xc0066d4048, 0xc0000b930b, 0x1, 0x0, 0x0)
	/home/stefan/go/src/github.com/honeytrap/honeytrap/services/ftp/ftpfs.go:36 +0x3f fp=0xc02675c4b8 sp=0xc02675c480 pc=0x95c68f
github.com/honeytrap/honeytrap/services/ftp.(*Fs).ChangeDir(0xc0066d4048, 0xc0000b930b, 0x1, 0x0, 0x0)
...additional frames elided...

@CapacitorSet
Copy link
Contributor

Reported in #277 and fixed in #213 which is yet to be merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants