diff --git a/.github/conf/.goreleaser.yml b/.github/conf/.goreleaser.yml deleted file mode 100644 index 02d2a38..0000000 --- a/.github/conf/.goreleaser.yml +++ /dev/null @@ -1,76 +0,0 @@ -before: - hooks: - - sudo apt -y install libprotobuf-dev protobuf-compiler protoc-gen-go - - go mod tidy - - go generate ./... -builds: - - id: "with-upx" - env: - - CGO_ENABLED=0 - goos: - - linux - - windows - - darwin - goarch: - - amd64 - - arm64 - - arm - - "386" - goarm: - - "6" - - "7" - flags: - - -trimpath - ldflags: - - -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{ .CommitDate }} -X main.builtBy=goreleaser - ignore: - - goos: windows - goarch: arm64 - - goos: windows - goarch: arm - - goos: linux - goarch: mips64 - hooks: - post: upx --best -f -q "{{ .Path }}" - -# UnknownExecutableFormatException -# CantPackException: can't pack new-exe - - id: "without-upx" - env: - - CGO_ENABLED=0 - goos: - - linux - - windows - - darwin - goarch: - - mips64 - - arm - goarm: - - "6" - - "7" - flags: - - -trimpath - ldflags: - - -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{ .CommitDate }} -X main.builtBy=goreleaser - ignore: - - goos: linux - goarch: arm - - -archives: - - replacements: - darwin: Darwin - linux: Linux - windows: Windows - 386: i386 - amd64: x86_64 -checksum: - name_template: 'checksums.txt' -snapshot: - name_template: "{{ incpatch .Version }}-next" -changelog: - sort: asc - filters: - exclude: - - '^docs:' - - '^test:' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c9a5ee9..c909c53 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,35 +1,53 @@ -name: goreleaser +name: Go-AutoBuild on: push: - tags: - - '*' - -permissions: - contents: write + branches: [ "master" ] + pull_request: + branches: [ "master" ] jobs: - goreleaser: + + build: runs-on: ubuntu-latest - timeout-minutes: 60 steps: - - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Set up Go - uses: actions/setup-go@v2 - with: - go-version: 1.19 - - - name: Run GoReleaser - uses: goreleaser/goreleaser-action@v2 - with: - distribution: goreleaser - version: latest - args: -f .github/conf/.goreleaser.yml - workdir: . - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - uses: actions/checkout@v3 + + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: 1.19 + + - name: Build + run: CGO_ENABLED=0 GOOS=windows GOARCH=386 go build -ldflags="-s -w" -trimpath -race main.go + + - name: Delete-tag-and-release + uses: dev-drprasad/delete-tag-and-release@v0.2.0 + with: + delete_release: true # default: false + tag_name: AutoBuild # tag name to delete + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Create Release + id: create_release + uses: actions/create-release@latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: AutoBuild + release_name: AutoBuild + body: ${{ steps.changelog.outputs.changelog }} + draft: false + prerelease: false + + - name: Upload Release Asset + id: upload-release-asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./main.exe + asset_name: fscan32.exe + asset_content_type: application/exe \ No newline at end of file diff --git a/Plugins/CVE-2020-0796.go b/Plugins/CVE-2020-0796.go index 3123f1c..4ca66ac 100644 --- a/Plugins/CVE-2020-0796.go +++ b/Plugins/CVE-2020-0796.go @@ -5,7 +5,7 @@ import ( "fmt" "time" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" ) const ( diff --git a/Plugins/NetBIOS.go b/Plugins/NetBIOS.go index 22111a7..75ab50e 100644 --- a/Plugins/NetBIOS.go +++ b/Plugins/NetBIOS.go @@ -4,7 +4,7 @@ import ( "bytes" "errors" "fmt" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "gopkg.in/yaml.v3" "net" "strconv" diff --git a/Plugins/fcgiscan.go b/Plugins/fcgiscan.go index ae5e9c9..8b09792 100644 --- a/Plugins/fcgiscan.go +++ b/Plugins/fcgiscan.go @@ -6,7 +6,7 @@ import ( "encoding/binary" "errors" "fmt" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "io" "strconv" "strings" diff --git a/Plugins/findnet.go b/Plugins/findnet.go index 5c1e1b7..3e398b2 100644 --- a/Plugins/findnet.go +++ b/Plugins/findnet.go @@ -4,7 +4,7 @@ import ( "bytes" "encoding/hex" "fmt" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "strings" "time" ) diff --git a/Plugins/ftp.go b/Plugins/ftp.go index e434307..59385fc 100644 --- a/Plugins/ftp.go +++ b/Plugins/ftp.go @@ -3,7 +3,7 @@ package Plugins import ( "fmt" "github.com/jlaffaye/ftp" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "strings" "time" ) diff --git a/Plugins/icmp.go b/Plugins/icmp.go index bde11d5..f3f4248 100644 --- a/Plugins/icmp.go +++ b/Plugins/icmp.go @@ -3,7 +3,7 @@ package Plugins import ( "bytes" "fmt" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "golang.org/x/net/icmp" "net" "os/exec" diff --git a/Plugins/memcached.go b/Plugins/memcached.go index 361edc1..1447429 100644 --- a/Plugins/memcached.go +++ b/Plugins/memcached.go @@ -2,7 +2,7 @@ package Plugins import ( "fmt" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "strings" "time" ) diff --git a/Plugins/mongodb.go b/Plugins/mongodb.go index cc81424..28b057d 100644 --- a/Plugins/mongodb.go +++ b/Plugins/mongodb.go @@ -2,7 +2,7 @@ package Plugins import ( "fmt" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "strings" "time" ) diff --git a/Plugins/ms17010-exp.go b/Plugins/ms17010-exp.go index f761517..53b271c 100644 --- a/Plugins/ms17010-exp.go +++ b/Plugins/ms17010-exp.go @@ -5,7 +5,7 @@ import ( "encoding/binary" "encoding/hex" "fmt" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "io" "io/ioutil" "net" diff --git a/Plugins/ms17010.go b/Plugins/ms17010.go index 0bf5bca..1ec0b40 100644 --- a/Plugins/ms17010.go +++ b/Plugins/ms17010.go @@ -5,7 +5,7 @@ import ( "encoding/hex" "errors" "fmt" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "strings" "time" ) diff --git a/Plugins/mssql.go b/Plugins/mssql.go index 6f64c67..fcdce8d 100644 --- a/Plugins/mssql.go +++ b/Plugins/mssql.go @@ -4,7 +4,7 @@ import ( "database/sql" "fmt" _ "github.com/denisenkom/go-mssqldb" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "strings" "time" ) diff --git a/Plugins/mysql.go b/Plugins/mysql.go index 03c6aac..95848db 100644 --- a/Plugins/mysql.go +++ b/Plugins/mysql.go @@ -4,7 +4,7 @@ import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "strings" "time" ) diff --git a/Plugins/oracle.go b/Plugins/oracle.go index 0db4142..2bff60c 100644 --- a/Plugins/oracle.go +++ b/Plugins/oracle.go @@ -3,7 +3,7 @@ package Plugins import ( "database/sql" "fmt" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" _ "github.com/sijms/go-ora/v2" "strings" "time" diff --git a/Plugins/portscan.go b/Plugins/portscan.go index d5d56ce..3e75ccd 100644 --- a/Plugins/portscan.go +++ b/Plugins/portscan.go @@ -2,7 +2,7 @@ package Plugins import ( "fmt" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "sort" "strconv" "sync" diff --git a/Plugins/postgres.go b/Plugins/postgres.go index 36a97ed..f3ee941 100644 --- a/Plugins/postgres.go +++ b/Plugins/postgres.go @@ -4,7 +4,7 @@ import ( "database/sql" "fmt" _ "github.com/lib/pq" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "strings" "time" ) diff --git a/Plugins/rdp.go b/Plugins/rdp.go index abfd6d0..58db248 100644 --- a/Plugins/rdp.go +++ b/Plugins/rdp.go @@ -3,7 +3,7 @@ package Plugins import ( "errors" "fmt" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "github.com/tomatome/grdp/core" "github.com/tomatome/grdp/glog" "github.com/tomatome/grdp/protocol/nla" diff --git a/Plugins/redis.go b/Plugins/redis.go index dbe4a4f..0d6be5e 100644 --- a/Plugins/redis.go +++ b/Plugins/redis.go @@ -3,7 +3,7 @@ package Plugins import ( "bufio" "fmt" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "net" "os" "strings" diff --git a/Plugins/scanner.go b/Plugins/scanner.go index 58c2c3a..d3f24ea 100644 --- a/Plugins/scanner.go +++ b/Plugins/scanner.go @@ -2,8 +2,8 @@ package Plugins import ( "fmt" - "github.com/shadow1ng/fscan/WebScan/lib" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/WebScan/lib" + "example.com/fxscan/common" "reflect" "strconv" "strings" diff --git a/Plugins/smb.go b/Plugins/smb.go index 19911e7..ad08022 100644 --- a/Plugins/smb.go +++ b/Plugins/smb.go @@ -3,7 +3,7 @@ package Plugins import ( "errors" "fmt" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "github.com/stacktitan/smb/smb" "strings" "time" diff --git a/Plugins/smb2.go b/Plugins/smb2.go index d4b141a..f6560f5 100644 --- a/Plugins/smb2.go +++ b/Plugins/smb2.go @@ -2,7 +2,7 @@ package Plugins import ( "fmt" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "net" "os" "strings" diff --git a/Plugins/ssh.go b/Plugins/ssh.go index 7c8276d..9f36889 100644 --- a/Plugins/ssh.go +++ b/Plugins/ssh.go @@ -3,7 +3,7 @@ package Plugins import ( "errors" "fmt" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "golang.org/x/crypto/ssh" "io/ioutil" "net" diff --git a/Plugins/webtitle.go b/Plugins/webtitle.go index 1c78ea0..bf2f382 100644 --- a/Plugins/webtitle.go +++ b/Plugins/webtitle.go @@ -13,9 +13,9 @@ import ( "time" "unicode/utf8" - "github.com/shadow1ng/fscan/WebScan" - "github.com/shadow1ng/fscan/WebScan/lib" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/WebScan" + "example.com/fxscan/WebScan/lib" + "example.com/fxscan/common" "golang.org/x/text/encoding/simplifiedchinese" ) diff --git a/Plugins/wmiexec.go b/Plugins/wmiexec.go index b5dfe56..0d830cc 100644 --- a/Plugins/wmiexec.go +++ b/Plugins/wmiexec.go @@ -3,7 +3,7 @@ package Plugins import ( "errors" "fmt" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "os" "strings" "time" diff --git a/WebScan/InfoScan.go b/WebScan/InfoScan.go index bf71d68..8667b4e 100644 --- a/WebScan/InfoScan.go +++ b/WebScan/InfoScan.go @@ -3,8 +3,8 @@ package WebScan import ( "crypto/md5" "fmt" - "github.com/shadow1ng/fscan/WebScan/info" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/WebScan/info" + "example.com/fxscan/common" "regexp" ) diff --git a/WebScan/WebScan.go b/WebScan/WebScan.go index 99bacd6..29bbad3 100644 --- a/WebScan/WebScan.go +++ b/WebScan/WebScan.go @@ -3,8 +3,8 @@ package WebScan import ( "embed" "fmt" - "github.com/shadow1ng/fscan/WebScan/lib" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/WebScan/lib" + "example.com/fxscan/common" "net/http" "os" "path/filepath" diff --git a/WebScan/lib/check.go b/WebScan/lib/check.go index ac345db..5d44465 100644 --- a/WebScan/lib/check.go +++ b/WebScan/lib/check.go @@ -4,8 +4,8 @@ import ( "crypto/md5" "fmt" "github.com/google/cel-go/cel" - "github.com/shadow1ng/fscan/WebScan/info" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/WebScan/info" + "example.com/fxscan/common" "math/rand" "net/http" "net/url" diff --git a/WebScan/lib/client.go b/WebScan/lib/client.go index c7f82b9..40eae49 100644 --- a/WebScan/lib/client.go +++ b/WebScan/lib/client.go @@ -6,7 +6,7 @@ import ( "embed" "errors" "fmt" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" "golang.org/x/net/proxy" "gopkg.in/yaml.v2" "io/ioutil" diff --git a/WebScan/lib/eval.go b/WebScan/lib/eval.go index 33e9616..95d931d 100644 --- a/WebScan/lib/eval.go +++ b/WebScan/lib/eval.go @@ -12,7 +12,7 @@ import ( "github.com/google/cel-go/common/types" "github.com/google/cel-go/common/types/ref" "github.com/google/cel-go/interpreter/functions" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/common" exprpb "google.golang.org/genproto/googleapis/api/expr/v1alpha1" "io" "io/ioutil" diff --git a/common/flag.go b/common/flag.go index d4c771f..a272c65 100644 --- a/common/flag.go +++ b/common/flag.go @@ -5,6 +5,8 @@ import ( "runtime" "runtime/debug" "time" + "os" + "strings" ) func init() { @@ -22,14 +24,7 @@ func GC() { } func Banner() { - banner := ` - ___ _ - / _ \ ___ ___ _ __ __ _ ___| | __ - / /_\/____/ __|/ __| '__/ _` + "`" + ` |/ __| |/ / -/ /_\\_____\__ \ (__| | | (_| | (__| < -\____/ |___/\___|_| \__,_|\___|_|\_\ - fscan version: ` + version + ` -` + banner := `version: ` + version print(banner) } @@ -81,5 +76,10 @@ func Flag(Info *HostInfo) { flag.StringVar(&SC, "sc", "", "ms17 shellcode,as -sc add") flag.BoolVar(&IsWmi, "wmi", false, "start wmi") flag.StringVar(&Hash, "hash", "", "hash") - flag.Parse() + if(len(os.Args)>2&&strings.Contains(os.Args[1],"lua")){ + flag.CommandLine.Parse(os.Args[2:]) + }else + { + flag.Parse() + } } diff --git a/go.mod b/go.mod index 2aa860c..1ca6013 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/shadow1ng/fscan +module example.com/fxscan go 1.19 diff --git a/main.go b/main.go index 0ae3db3..b21f5ab 100644 --- a/main.go +++ b/main.go @@ -2,8 +2,8 @@ package main import ( "fmt" - "github.com/shadow1ng/fscan/Plugins" - "github.com/shadow1ng/fscan/common" + "example.com/fxscan/Plugins" + "example.com/fxscan/common" "time" ) @@ -14,5 +14,5 @@ func main() { common.Parse(&Info) Plugins.Scan(Info) t := time.Now().Sub(start) - fmt.Printf("[*] 扫描结束,耗时: %s\n", t) + fmt.Printf("[*] 扫描已结束,耗时: %s\n", t) }